有的时候我们用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)