【发布时间】:2017-04-24 15:51:58
【问题描述】:
我做了一个主成分分析,现在我在 R 中绘制结果(绘制 2514 个个体的第一个主成分和第二个主成分,并对关于 6 个超种群的所有这些点进行着色以可视化集群)。 R 默认颜色很好,但我需要一个特别突出的超级群体,所以我想把它涂成黑色。我不在乎其他5个的颜色。
我无法应用我所读到的关于自定义调色板和使用 ggplot 绘图的内容。我试图创建一个新的调色板,但我无法在语法中混合这两种东西。我必须告诉程序 (1) 为每个点着色关于它的超级人口信息,以及 (2) 使用这个新的调色板 mypalette,但在绘图语法中,两个信息都必须在“col”参数中,但我想放两个。这是到目前为止的代码,它没有达到我想要的效果:
Superpopulations<-PC$Superpop
mypalette=c("blue","violetred1","green1","darkorchid1","yellow1","black")
mypal=discrete_scale(aesthetics = Superpulations, scale_name = "Superpopulations", palette = mypalette)
superpopulation<-qplot(newPC2$PC1,newPC2$PC2, col=mypal, main = NULL ,xlab= NULL, ylab=NULL, size=I(2.5))
superpopulation + theme(legend.position="bottom")
我还尝试仅提取 URUS 并使用命令 points() 将它们单独绘制成黑色,覆盖其他点:
points(PCsurus2$PC1, PCsurus2$PC2, col="black")
但我看不出剧情有什么变化。
PC 是一个数据框,其中前两列是主成分值 1 和 2,另一列是 Superpop,带有超级种群的名称标签(如“URU”、“EUR”)。 在这里我留下图表。 我想将 URU 颜色从红色更改为黑色以突出显示该人群
【问题讨论】:
-
另请注意,
points仅适用于基础绘图,不适用于基于grid的图形,例如ggplot2(它不会执行任何操作)。 -
哦,我不知道。谢谢你的旁注! :)