该博文已整理到新地址: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
|
产品答疑