R语言绘图:多图叠加和图形分页
《R语言绘图:多图叠加和图形分页》由会员分享,可在线阅读,更多相关《R语言绘图:多图叠加和图形分页(11页珍藏版)》请在装配图网上搜索。
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")#因为文件中有数字也有字符,所以建
3、议加上stringsAsFactors=F。head(data)# V1 V2 V3 V4# 1 1 0.15415052 0.7645350 A# 2 2 0.09278940 0.7763482 A# 3 3 0.01666104 0.8422627 A# 4 4 0.01519319 0.7630589 A# 5 5 0.16605095 0.8263706 A# 6 6 0.13892152 0.7597543 Adim(data)# 1 48 4第一列是染色体名,第二列和第三列分别是两种计算结果,具体意义暂时不予理会。第四列是染色体的区域,100000表示1到100000,20000
4、0表示100001到200000。我们大致知道数据结构即可。下面我们开始画图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
5、= "black",则每个柱子的边框为黑色。p1 上面已经有对应的柱状图了,下面再根据第一列和第三列画点线图。p2<-ggplot(data)+geom_line(aes(x=data$V1,y=data$V2,colour = data$V4)+scale_x_continuous(breaks = 1:12)#这里可以注意跟柱状图不一样了,用的是colour,不是fill。p2请预览后下载!分开的两张图我们都做好了,下面就是叠加了。首先我们看到这里的数据其实都是data,换句话说就是他们其实可以共用坐标轴的。所以这种情况在ggplot当中叠起来很容易。data,5
6、="white"p3<-ggplot(data)+geom_bar(aes(x=data$V1,y=data$V3,group = data$V4),fill = data$V5,position = "dodge",stat = "identity",colour = "black")+geom_line(aes(x=data$V1,y=data$V2,colour = data$V4)+scale_x_continuous(breaks = 1:12)#为了能看到线图,所以这里把填充颜色改成了白色,这里大
7、家注意一下fill的位置,跟之前的fill运用有些区别p3请预览后下载!这里说完了叠,再说说加。下面我们就简单的把上面两张图加到一张图中。library("gridExtra")grid.arrange(p1,p2,ncol = 2,widths=c(1,1)#widths表示横向两图的比例请预览后下载!grid.arrange(p1,p2,nrow = 2,heights = c(1,2)#heights表示两图纵向的比例grid.arrange(p1,p2,p1,p2,ncol =2,nrow =2)#ncol和nrow表示图形摆放方式请预览后下载!grid.arran
8、ge(p1,p2,p1,p2,ncol =2,layout_matrix = cbind(c(1,1,1), c(2,3,4)#layout_matrix中的1,2,3,4分别对应前面四个对象请预览后下载! 除了上述情况,相信大家还会碰到另外一种,比如上述四个图拼在一起。而我们只有三个图,可能右上角或左上角是空白的。这个怎么办呢?kong<- ggplot()+geom_blank(aes(1,1)+ theme(plot.background = element_blank(), panel.grid.major = element_blank(), panel.grid.minor
9、= element_blank(),panel.border = element_blank(), panel.background = element_blank(),axis.title.x = element_blank(), axis.title.y = element_blank(),axis.text.x = element_blank(), axis.text.y = element_blank(),axis.ticks = element_blank(), axis.line = element_blank()#这里其实就是建立了一个完全空白的图片grid.arrange(p2
10、,kong,p1,p2,ncol =2 ,nrow =2,widths = c(2,1),heights = c(1,2)请预览后下载!上述了这些就是一般常见的图层叠加了。当然,如果大家还想发散的话,可以再参考一些ggExtra这个包,你会发现更多乐趣。好了,除了刚才的叠加,下面我们再说说分页。这方面在ggplot中就显得很容易了。p4<-ggplot(data)+geom_bar(aes(x=data$V1,y=data$V3,fill = data$V4,group = data$V4),position = "dodge",stat = "identi
11、ty",colour = "black")+scale_x_continuous(breaks = 1:12)+facet_grid(V4)#这是根据分组来分页的p4请预览后下载!p5<-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
12、 = 1:12)+facet_wrap(V1,ncol = 3)#这个是根据染色体的,同时也能通过ncol和nrow来调控布局p5请预览后下载!facet_grid相对facet_wrap而言可以应用多个标准进行分页。但从布局角度个人觉得facet_wrap更好。p6<-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)+facet_grid(V1V4)#这是根据分组来分页的p6请预览后下载! (注:可编辑下载,若有不当之处,请指正,谢谢!) 请预览后下载!
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卡通可爱绿色小学生家长会模板课件
- 卡通可爱老师教育教学模板课件
- 卡通可爱幼儿园大班家长会模板课件
- 卡通夏日暑假班会家长会模板课件
- 卡通可爱创意爱情告白求婚婚礼婚庆策划方案模板课件
- 卡通可爱军人动态模板通用模板课件
- 卡通可爱五一劳动最光荣主题班会模板课件
- 卡通可爱小学生常用急救知识模板课件
- 卡通动画小乌龟Franklin_02_02【声音字幕同步】课件
- 卡通儿童预防冬季流感科普宣传模板课件
- 卡通动漫动物人物绘制课件
- 卡通可爱儿童节主题活动策划方案模板课件
- 卡通儿童珍爱生命防溺水主题班会模板课件
- 卡通动漫教育教学课程设计教师说课模板课件
- 身体工作动态静心资料来源Osho的静心与健康若欲详解敬请课件