该博文已整理到新地址:http://qinqianshan.com/ggplot-散点图geom-point/
注:因为sina博客无法显示很长的命令,下面的命令都是用个空格切割的额,有的地方会报错,你去掉空格即可
WS_bac DSZ_bac DSZ_arc WS_arc

4.35505

9.60793 9.61334 5.25596 5.84429

16.5786 16.6393 6.84235 6.75812

22.6062 22.7745 7.92324 7.45446

28.0227 28.3326 8.79244 8.05028

33.0079 33.4752 9.5462 8.58972

37.6698 38.2964 10.2294 9.0914

根据上面的数据,以 seqs 为横坐标,其他四列为纵坐标做出散点图。

1 ,数据读取(上面的数据中有的为 NA ,)

ni<-read.csv(" 稀释性曲线 .txt",header=T,sep="\t")

2 ,数据变形

library(reshape2)

agcd<-melt(ni,id.vars="seqs",value.name="value",variable.name="bq");

3 ,作图

library(ggplot2)

ggplot(agcd,aes(seqs,value))+geom_point()

p<-ggplot(agcd,aes(seqs,value))+geom_point()

p1<-p+aes(shape=bq)+scale_shape_manual(values=c(1,2,6,23))

3 ,去掉背景

p2<-p1+theme(panel.background=element_blank(),panel.grid.minor=element_blank(),

axis.line =element_line(size=0.5),legend.title=element_blank());

4,Legend 放大

library(grid);

p3<-p2+theme(legend.title=element_blank())+theme(legend.key.size=unit(2,'cm'),

legend.text = element_text(size = 10, hjust = 3, vjust = 3, face = 'bold'));

5, 横纵坐标轴变大 , 同时加上合适字体的横纵坐标的主题

p4<-p3+theme(axis.text.x=element_text(size=15,colour="black"),axis.text.y=element_text(size=15,

colour="black"))+xlab(" 序列数 Sequences quantity")+ylab("OTU 个数 quantity")+theme(axis.title.x=element_text(size=15),axis.title.y=element_text(size=15));

整个的流程为:

1 ,生成数据部分

ni<-read.csv(" 稀释性曲线 .txt",header=T,sep="\t");

nii<-ni[seq(1,nrow(ni),2),];

library(reshape2);

agcd<-melt(nii,id.vars="seqs",value.name="value",variable.name="bq");

library(ggplot2);

2 ,作图部分

有两个命令可供参考,一个就是按照上面的流程修改了参数的大小值,另一个是没有修改大小的。选用如下的哪个命令,取决你出图的方式,是否用 tiff ,还是自带的出图方式。 我个人感觉 tiff 出来的图清晰度还是要高一些的啊,但我更倾向于直接用 Rstudio 的粘贴复制。

因为tiff文件没法上传到该博客,也就没法比较图片的清晰度,这里就省略了

命令 1 :(修改大小)

library(grid);

ggplot(agcd,aes(seqs,value))+geom_point()+aes(shape=bq)+scale_shape_manual(values=c(1,19,3,6))

+theme(panel.background=element_blank(),panel.grid.minor=element_blank(),

axis.line=element_line(size=0.5),legend.title=element_blank())+theme(legend.key.size=unit(2,'cm'),

legend.text = element_text(size = 10, hjust = 3, vjust = 3, face = 'bold'))+theme(axis.text.x=element_text(size=15,colour="black"),axis.text.y=element_text(size=15,

colour="black"))+xlab(" 序列数 Sequences quantity")+ylab("OTU 个数 quantity")+theme(axis.title.x=element_text(size=15),axis.title.y=element_text(size=15));

# 通过命令 1, 我发现生成的 tif 图形有问题,如果是要加 tif 命令来生成图形的话,就不应该修改图上各个参数的大小值,否则生成的图片就会有问题,如果不是用 tiff 来生成图形的话,就需要加入各个参数合适的大小值。

命令 2 :(不修改大小)

tiff(filename = " 稀释性曲线 2.tif",width = 15,height = 12,units ="cm",compression="lzw",bg="white",res=600);

ggplot(agcd,aes(seqs,value))+geom_point()+aes(shape=bq)+scale_shape_manual(values=c(1,19,3,6))

+theme(panel.background=element_blank(),panel.grid.minor=element_blank(),

axis.line=element_line(size=0.5),legend.title=element_blank())

+theme(axis.text.x=element_text(colour="black"),axis.text.y=element_text(colour="black"))

+xlab(" 序列数 Sequences quantity")+ylab("OTU 个数 OTU quantity");

dev.off()

命令 2 ,生成图片以后,点击 copy to clipboard, 调整合适的大小,然后选择 copy as 的类型( bitmap,metafile , 确认后,然后就可以将图片粘贴到你想要他到的地方了,得到的是矢量图,( 这个我更喜欢,但是生成的是适用于word的矢量图,我在word中另存后,反而不清晰了,如下图

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑