我正在使用ggplots绘制PC图。 我知道这个问题已在之前的一些帖子中得到解答,但我还是无法解决我的问题。 我有一个名为tab的数据集,它是PCA的输出
sample.id pop EV1 EV2
HT185_MK8-2.sort.bam HA_27 -0.03796869 0.046369552
HT48_SD1A-37.sort.bam HA_14 0.04208393 0.032961404
HT53_IA1A-10.sort.bam HA_1 -0.02580365 0.005262476
HT260_MK1-4.sort.bam HA_20 -0.06090545 0.005578504
HT170_SD2W-14.sort.bam HA_17 0.01288395 0.012117833
Q093_MK7-13.sort.bam HA_26 0.06310162 0.188558067
我想在图中的每个点上添加标签,这些点是来自几个人群的个体。所以我想给他们他们的人口ID(数据集中的pop列)。 我正在使用这个
ggplot(data=tab,aes(EV1,EV2, label=tab[,2])) + geom_point(aes(color=as.factor(pop))) + ylab("Principal component 2") + xlab("Principal component 1")
答案 0 :(得分:2)
尝试geom_text
:
geom_text(aes(label=as.character(pop)),hjust=0,vjust=0)
还要考虑查看plotly,或在标签上设置阈值,因为标记每个点会导致非常拥挤的情节,并且可能只有非常少的其他有用信息。