我正在尝试按组(数据中的流行)而不是单个点(ID)对条形图的边框进行着色,但想不出一种方法。
我的数据如下所示:
IND POP ancestry value
1: Kharia15 Kharia ancestry1 0.00001
2: Kharia14 Kharia ancestry1 0.00001
3: Kharia4 Kharia ancestry1 0.00001
4: Kharia3 Kharia ancestry1 0.00001
5: Kharia1 Kharia ancestry1 0.00001
---
18756: HGDP00548 Papuan ancestry8 0.99993
18757: HGDP00554 Papuan ancestry8 0.99993
18758: HGDP00549 Papuan ancestry8 0.99993
18759: HGDP00546 Papuan ancestry8 0.99993
18760: HGDP00540 Papuan ancestry8 0.99993下面是代码
ggplot(long_form_combined, aes(x=IND, y=value, fill=ancestry)) +
geom_bar(position=position_stack(), stat="identity", width=1) +
ylim(c(-1.2, 1.2)) +
scale_fill_manual(values=c("ancestry1"="RoyalBlue",
"ancestry2"="ForestGreen",
"ancestry3"="gold",
"ancestry4"="indianred1",
"ancestry5"="olivedrab1",
"ancestry6"="springgreen",
"ancestry7"="sienna",
"ancestry8"="skyblue")) +
coord_polar(start = -1) +
theme(axis.text.x = element_blank(),
axis.title.x = element_blank(),
axis.text.y = element_blank(),
axis.title.y = element_blank(),
axis.ticks.y = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
legend.title=element_blank())这是一张what I have的图片
这是一张what I would like to have的图片
条形图的顺序和中间的饼图并不重要。
谢谢
发布于 2021-09-29 20:05:31
在aes()函数中,当前指定了x、y和fill。此外,还要指定color,并赋予它与fill相同的值。换句话说,
ggplot(long_form_combined, aes(x=IND,
y=value,
fill=ancestry,
color=ancestry))https://stackoverflow.com/questions/69382676
复制相似问题