R语言绘图:多图叠加和图形分页.doc

R语言绘图:多图叠加和图形分页.doc

ID:50250526

大小:116.00 KB

页数:11页

时间:2020-03-07

R语言绘图:多图叠加和图形分页.doc_第1页
R语言绘图:多图叠加和图形分页.doc_第2页
R语言绘图:多图叠加和图形分页.doc_第3页
R语言绘图:多图叠加和图形分页.doc_第4页
R语言绘图:多图叠加和图形分页.doc_第5页
资源描述:

《R语言绘图:多图叠加和图形分页.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、R绘图课程:多图叠加与图形分页gaom在我们用R画图的时候常常碰到一种问题,就是我们简简单单一个对象的图无法达到我们想要的结果。可能我们是一个对象但有多种展示,需要把多个图放在一起。也可能我们要画的是多个对象,但每个对象的图其实都是并行的。前面一种情况我理解为是多图叠加,即需要多张不同的图拼凑到一张图中。后面的情况我理解为是图形分页,即把类似的图形有序的排列展示给大家看。今天我们讨论的主题就是如何去解决上述的两种情况。首先,我们针对第一种情况。其实第一种情况我们还是要划分一下。多图叠加,其中的叠是指我们的绘图中两张或多张不同的图整合到一种图中,共用一个坐标轴。比如一张柱状

2、图,一张曲线图合并到一张图中。而其中的加则是指我们想合并的图之间无法共用坐标轴,我们只能在一张图中划分不同的区域加需要的多张图放置进去。光说不练假把式,今天我们就找几个实例展示一下,让大家看下我们如果处理这种常见的问题。library("ggplot2")#这次主要是用ggplot来处理data<-read.table(file="C:/Users/gaom/Desktop/R语言绘图:多图叠加和图形分页/test_data2.txt",header=F,stringsAsFactors=F,sep="t")#因为文件中有数字也有字符,所以建议加上stringsAsFa

3、ctors=F。head(data)##V1V2V3V4##110.154150520.7645350A##220.092789400.7763482A##330.016661040.8422627A##440.015193190.7630589A##550.166050950.8263706A##660.138921520.7597543Adim(data)##[1]484第一列是染色体名,第二列和第三列分别是两种计算结果,具体意义暂时不予理会。第四列是染色体的区域,100000表示1到100000,200000表示100001到200000。我们大致知道数据结构即可。

4、下面我们开始画图p1<-ggplot(data)+geom_bar(aes(x=data$V1,y=data$V3,fill=data$V4,group=data$V4),,position="dodge",stat="identity",colour="black")+scale_x_continuous(breaks=1:12)#加上position="dodge"后会每条染色体分成四个柱子,加上colour="black",则每个柱子的边框为黑色。p1上面已经有对应的柱状图了,下面再根据第一列和第三列画点线图。p2<-ggplot(data)+geom_line(a

5、es(x=data$V1,y=data$V2,colour=data$V4))+scale_x_continuous(breaks=1:12)#这里可以注意跟柱状图不一样了,用的是colour,不是fill。p2分开的两张图我们都做好了,下面就是叠加了。首先我们看到这里的数据其实都是data,换句话说就是他们其实可以共用坐标轴的。所以这种情况在ggplot当中叠起来很容易。data[,5]="white"p3<-ggplot(data)+geom_bar(aes(x=data$V1,y=data$V3,group=data$V4),fill=data$V5,positio

6、n="dodge",stat="identity",colour="black")+geom_line(aes(x=data$V1,y=data$V2,colour=data$V4))+scale_x_continuous(breaks=1:12)#为了能看到线图,所以这里把填充颜色改成了白色,这里大家注意一下fill的位置,跟之前的fill运用有些区别p3这里说完了叠,再说说加。下面我们就简单的把上面两张图加到一张图中。library("gridExtra")grid.arrange(p1,p2,ncol=2,widths=c(1,1))#widths表示横向两图的比例

7、grid.arrange(p1,p2,nrow=2,heights=c(1,2))#heights表示两图纵向的比例grid.arrange(p1,p2,p1,p2,ncol=2,nrow=2)#ncol和nrow表示图形摆放方式grid.arrange(p1,p2,p1,p2,ncol=2,layout_matrix=cbind(c(1,1,1),c(2,3,4)))#layout_matrix中的1,2,3,4分别对应前面四个对象除了上述情况,相信大家还会碰到另外一种,比如上述四个图拼在一起。而我们只有三个图,可能右上角或

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。