如何在散点图里添加特定标签

有的时候我们用ggplot2画了图,比如说散点图,那么如何在一堆点里标出我们关注的点呢?

> dat = read.csv("xxxx.csv",header = TRUE,sep = ",")
> colnames(dat)
[1] "gene_id"               "geneModuleMembership"  "geneTraitSignificanc

比如:我想把后两列用散点图表示出来,那么:

> library(ggplot2)
> ggplot(dat,aes(x=geneModuleMembership,y=geneTraitSignificance)) +
  geom_point(shape=1,colour= "turquoise",size = 2) + xlab("x_axis title")+ ylab("y_axis title")+ ggtitle("picture title")

各种参数:
 ggplot(数据dataframe,aes(你想画的列)) +
    geom_point(点的形状,点的颜色,点的大小)+ xlab(x轴标题) + ylab(y轴标题) + ggtitle(整个图的标题)

如果想改变点的形状,这里是数字对应的形状:ggplot2 point shapes

觉得图的背景灰色格子很难看吗?可以去掉:

> ggplot(dat,aes(x=geneModuleMembership,y=geneTraitSignificance)) +
  geom_point(shape=1,colour= "turquoise",size = 2) + xlab("x_axis title")+ ylab("y_axis title")+ ggtitle("picture title")+
  theme_classic() #这个参数是去掉背景灰色格子的

图画的差不多了,但是我想在图里标注一个特定的点:

ggplot(dat,aes(x=geneModuleMembership,y=geneTraitSignificance)) +
  geom_point(shape=1,colour="turquoise",size = 2) + xlab("x_axis title")+ ylab("y_axis title")+ ggtitle("picture title") +
  theme_classic()+ 
  geom_point(aes(0.9071973,0.89379209),color="red",size=2) #这一行是对特定点标注的,你需要指出它对应的x,y轴的坐标,还可以指定颜色和大小

给特定点添加注释:

>ggplot(dat,aes(x=geneModuleMembership,y=geneTraitSignificance)) +
  geom_point(shape=1,colour="turquoise",size = 2) + xlab("x_axis title")+ ylab("y_axis title")+ ggtitle("picture title") +
  theme_classic()+ 
  geom_point(aes(0.9071973,0.89379209),color="red",size=2) +
  geom_text(aes(0.9071973,0.89379209,label="Junb"),hjust=-1,vjust=1)#这一行是给特定点加注释的

NOTE: 如果你添加了很多个特定点,而这些点离的很近,注释信息重叠了,你可以通过改变注释信息的位置来调整。调整注释信息位置的参数是hjust和vjust

hjust: 调整左右位置。 以红点为中心,该数值越大,注释信息越靠左,0.5时在中间
vjust: 调整上下位置。以红点为中心,该数值越大,注释信息越靠下,0.5时在中间

比如现在,基因名在红点的右侧偏下,我想把它调整到红点的左上方,那么:

> ggplot(dat,aes(x=geneModuleMembership,y=geneTraitSignificance)) +
  geom_point(shape=1,colour="turquoise",size = 2) + xlab("x_axis title")+ ylab("y_axis title")+ ggtitle("picture title") +
  theme_classic()+ 
  geom_point(aes(0.9071973,0.89379209),color="red",size=2) +
  geom_text(aes(0.9071973,0.89379209,label="Junb"),hjust=1,vjust=-0.5)

你可能感兴趣的:(如何在散点图里添加特定标签)