我正在使用ggplot绘制两个向量,并希望为其超级人口标签(总共6个superpops,并使用我的个人调色板mypal)着色所产生的离散点。我有一个名为newPC2的数据框,它有三列:PC1(x向量),PC2(向量)和Superpop(人口标签,“EUR”,“AMR”)。当我尝试执行以下操作时:
mypalette=c("blue","violetred1","green1","darkorchid1","yellow1","black")
ggplot(newPC2, aes(PC1, PC2, fill=Superpopulations2)) +
geom_point(size = 2.5) +
scale_color_manual(values = mypalette) +
theme(legend.position="bottom")
所有图形点均以黑色显示。我希望用6种颜色中的一种颜色代表其超级种群的点,看看它们是如何分布的(它们是PCA结果)。
有什么想法?谢谢!
答案 0 :(得分:1)
ggplot
中的默认点几何是16(一个点),因此没有填充美学,只有一种颜色。这意味着您必须将SuperPopulations2变量映射到颜色上,最终使用如下所示的代码:
ggplot(newPC2, aes(PC1, PC2, color=Superpopulations2)) +
geom_point(size = 2.5) +
scale_color_manual(values = mypalette) +
theme(legend.position="bottom")
这个site有一些关于使用形状的非常有用的信息。