【T】ggplot—散点图(geom_point)

标签:
geom_point |
分类: R |
数据集
seqs
10
20
30
40
50
60
70
……
根据上面的数据,以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()
这个初步的图做出来后有四点不满意
1,点太多区分度不够好;
2,每条线没有图注;
3,背景不好看;
4,横纵坐标;
1,点太多区分度不够好
提取数据的奇数行,减少数据集
nii<-ni[seq(1,nrow(ni),2),]
重新数据变形
library(reshape2);
library(ggplot2);
agcd<-melt(nii,id.vars="seqs",value.name="value",variable.name="bq");
2加上图注
p<-ggplot(agcd,aes(seqs,value))+geom_point()
p1<-p+aes(shape=bq)+scale_shape_manual(values=c(1,2,6,23))
p1
3,去掉背景
p2<-p1+theme(panel.background=element_blank(),panel.grid.minor=element_blank(),
axis.line=element_line(size=0.5),legend.title=element_blank());
p2
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'));
p3
5,横纵坐标轴变大,同时加上合适字体的横纵坐标的主题
p4<-p3+theme(axis.text.x=element_text(size=15,colour="black"),axis.text.y=element_text(size=15,
colour="black"))+xlab("序列数
p4
整个的流程为:
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("序列数
#通过命令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("序列数
dev.off()
命令2,生成图片以后,点击copy to clipboard,调整合适的大小,然后选择copy as的类型(bitmap,metafile), 确认后,然后就可以将图片粘贴到你想要他到的地方了,得到的是矢量图,(这个我更喜欢,但是生成的是适用于word的矢量图,我在word中另存后,反而不清晰了,如下图)