R绘图的布局排版

之前提到,mfrow,mfcol只能是矩阵式的布局,如果我们需要简单地实际不规则的布局,怎么办呢?强大的layout(),split.screen()专门用于布局。有资料提到“split.screen()函数与其它函数是不兼容的(比如layout(),coplot()),不可以用于多个绘图设备,而且它们的使用仅限于象图形式探索型数据分析这样的问题”,很晕,搞不懂的+_+...希望有人能指点O(∩_∩)O~。所以这里只介绍强大的layout()函数。

函数layout()把当前的绘图设备分割为多个部分,绘制的图形将一次显示在个恶搞部分中,它主要自变量是一个元素都是整数的的矩阵,元素标识了子窗口(sub-windows)的编号。

layout(mat, widths = rep(1, ncol(mat)), heights = rep(1,nrow(mat)),respect = FALSE)

其中,mat就是一个距阵,假设我们要画N个图,那么,mat就要描述每个图所在的位置,其中1…N-1都必须至少出现过一次。比如有三个图,我们希望的布局是第一排有一个图,第二排有两个图,那么mat

attach(mtcars)   #使用attch加载需要的包mtcars包,可以直接使用包里面提供的数据,便于绘图测试

layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE))

hist(wt) #绘制wt的柱形图

hist(mpg)

hist(disp)

layout函数布局0

那么参数中的widths和heights就是用来指定每行或者每列的宽度和高度的。我们可以做以下的比较:

attach(mtcars)  layout(matrix(c(1,1,1,1,2,2,2,3,2,2,2,3),3,4,byrow=TRUE))

hist(wt)

hist(mpg)

hist(disp)

layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE), widths=c(3,1), heights=c(1,2))

hist(wt)  hist(mpg)

hist(disp)

loyout函数布局1

这两种方法得到的是相同的结果,在代码的书写上,第2种方法要更清晰一些。想象一下,似乎每个图的位置必须是连在一起的小矩阵,如果,不构成连在一起小矩阵,会成为怎么样的一个结果呢?

attach(mtcars)

layout(matrix(c(1,1,2,1,1,1),nrow=2,ncol=3,byrow=T))

hist(wt)

hist(mpg)

layout函数布局2

如果需要大图,小图,内嵌图这layout()虽然很容易实现,但多少有点麻烦,不是那么随心所欲。还是回过头来使用par()吧。使用par()的中fig=在画布任意位置上画图。在使用fig参数时,需要把画布理解成左下角为坐标(0,0),右上角为(1,1)的一个坐标系。fig=c(x1,x2,y1,y2)来设置该参,x1

par(fig=c(0,0.85,0,0.85), new=F)

plot(mtcars$wt, mtcars$mpg, xlab="Miles Per Gallon",ylab="Car Weight")

par(fig=c(0,0.8,0.55,1), new=TRUE)

boxplot(mtcars$wt, horizontal=TRUE, axes=FALSE)

par(fig=c(0.65,1,0,0.8),new=TRUE)

boxplot(mtcars$mpg, axes=FALSE)

mtext("Enhanced Scatterplot", side=3, outer=TRUE, line=-3)

par(fig=c(0.4,0.75,0.4,0.7),new=TRUE,mar=c(2,2,0,0),mgp=c(1,.4,0),cex=1,cex.lab=0.7,cex.axis=0.7)

hist(mtcars$mpg, main="")

layout函数布局3

好了,关于R绘图基础和布局的内容先介绍到这里。如果理解错误的地方,希望能过帮忙指正更改。谢谢O(∩_∩)O~

r语言 四格画图_R绘图基础(一)相关推荐

  1. r语言 四格画图_R语言画多组数据相关性分析图

    相关性表示两组数据之间的关系是否"相似"或"相近":但当遇到多组数据时,如何直观的比较各组数据之间的相关性是一个大家比较关注的问题,相关图可以通过对相关系数矩阵 ...

  2. r语言 四格画图_临度科研|数据统计的理解和运用(四)列联表之卡方检验

    今天我们来介绍非参数检验--迷人的卡方检验(Chi-Square test/Chi-Square Goodness-of-Fit Test). 卡方检验是一种用途很广的计数资料的假设检验方法.它属于非 ...

  3. R语言四格表的统计分析及假设检验

    R语言四格表与列联表的统计分析及假设检验 卡方检验是一种确定两个分类变量之间是否存在显着相关性的统计方法. 这两个变量应该来自相同的人口,他们应该是类似 是/否,男/女,红/绿等. 例如,我们可以建立 ...

  4. R语言四格表、列联表秩和检验

    R语言四格表.列联表秩和检验 秩和检验方法最早是由维尔克松(Wilcoxon)提出,叫维尔克松两样本检验法.后来曼-惠特尼将其应用到两样本容量不等(n1不等于n2)的情况,因而又称为曼-惠特尼U检验. ...

  5. r语言各形状编号_R语言基础画图

    过去一个月实验比较忙,很久没有写点东西了,今天要给amina画图,因此学习了一下R语言的基础画图.ide 1.plot函数函数 plot(x,y,xlim=c(0,100),ylim=c(0.4,1) ...

  6. r语言 断轴 画图_R 绘图 – 函数曲线图 | 菜鸟教程

    R 绘图 - 函数曲线图 函数曲线图是研究函数的重要工具. R 中 curve() 函数可以绘制函数的图像,代码格式如下: curve(expr, from = NULL, to = NULL, n ...

  7. r语言 fread函数参数_R语言 第4章 初级绘图(6)

    分析数据间的关系 散点矩阵图 如果数据框是多维数据,那么plot函数将绘制出两两之间散点图组合成为散点矩阵图(matrix of scatterplots).散点矩阵图将多个散点图组合起来,以便可以同 ...

  8. R语言怎么写积分_R语言入门的基本操作(1)

    大家好,这是从知乎<一个大学生的日常笔记>中迁移过来的R语言教程的第一篇. 这一份笔记follow了两本非常优秀的R语言教材,分别是Robert I.Kabacoff的<R语言实战& ...

  9. python和r语言做大数据_R和python大数据

    数据科学界华山论剑:R与Python巅峰对决 如果你是数据分析领域的新兵,那么你一定很难抉择--在进行数据分析时,到底应该使用哪个语言,R还是Python?在网络上,也经常出现诸如"我想学习 ...

最新文章

  1. C#代码生成工具:文本模板初体验 使用T4批量修改实体框架(Entity Framework)的类名...
  2. 实现滑动菜单(富文本版本)
  3. ListView属性设置
  4. 编码方式 / Base 64
  5. Swift 协议protocol
  6. linux如何全局搜索目录,Linux 全目录全文搜索
  7. 一个好用的小工具 thefuck
  8. cpp的vector初始化方法
  9. pdca实施的流程图_PDCA实战案例详解:PDCA的 4个阶段 8个步骤及应用详解
  10. STM32单片机(二).STM32系列单片机的介绍
  11. OpenCL “速成”冲刺【第二天】
  12. 使用python完成知乎模拟登陆
  13. C语言读取txt文件
  14. 什么是NFV?它与SDN有什么关系?
  15. 计算机专业发展基金申报书,计算机科学与技术学院大学生科技创新基金项目申报书.doc...
  16. 17年电赛综合测评——四分频电路
  17. 修改userdata的分区大小
  18. 构建文件系统脚本分析笔记
  19. 评测三款最流行的txt阅读器(ios手机适用)
  20. objective-c 我的美图软件

热门文章

  1. git命令——git commit
  2. 锁-概念:可重入锁、可中断锁、公平锁、读写锁
  3. 什么是思考?如何主动思考?
  4. sql server 语法 MSDN
  5. Linux服务器创建及维护记录
  6. Raid、lvm知识
  7. JDK18 Java 18 拥有 9 个新特性
  8. 为Web 开发者Bug 报告和跟踪工具
  9. msql查询姓名不带r的员工姓名_《MySQL数据库》关联查询
  10. 安装 SQL Server Compact Edition 及 与PC 数据同步的部署