在使用R语言进行数据可视化的时候,常常需要将多张统计图表绘制在同一张图上面,从而更高效地传递信息,下面我们就来一起看看具体如何实现。

一、使用R语言自带的函数绘制的图像

R语言本身就已经内置了许多绘图函数,能够满足较为基本的绘图需求,例如hist()boxplot()spineplot()等等。如果我们想要将使用这些函数绘制的图像汇总在一张图中,需要使用split.screen()screen()函数,具体方法如下:

1. 步骤一:分割屏幕split.screen()

顾名思义,split.screen()函数是用于分割屏幕的,它需要传入一个形似c(nrow, ncol)的参数,意为将屏幕分割为nrow行,ncol列;分割完成后函数会返回一个整数(integer)型向量,长度等于nrow * ncol,即为分割之后屏幕的每一个部分对应的“编号”。这些“编号”将用于传入screen()函数,进行后续的绘图工作。

2. 步骤二:指定绘图位置screen()

分隔完屏幕之后,我们需要首先指定一张子图的位置,使用screen()函数,传入之前分割屏幕时返回的“编号”, 便完成了指定。

3. 步骤三:绘图

完成指定子图位置之后,便可以进行正常的绘图工作,使用hist()boxplot()spineplot()等函数进行绘图,注意每绘制完一张图就需要使用screen()来更改绘图的位置。下面我们来看一个实例:

这里我们使用R语言内置的数据集AirPassengerscars来进行演示:

# 分割屏幕
> split.screen(c(2, 1))
> [1] 1 2# 绘制第一个图
> screen(1)
> plot(cars)# 绘制第二个图
> screen(2)
> plot(AirPassengers)# 结束绘图
> dev.off()

代码运行结果

二、使用ggplot2绘制的图像

ggplot2是非常流行的R语言可视化包,功能极为强大,能够绘制众多复杂的统计图表。在同一张图中显示多张ggplot2图像同样也需要借助第三方的R包——ggpubrggpubr包中的ggarrange()可以方便地将多张图整合在一张上面。其常用的参数如下:ggarrange(..., ncol = NULL, nrow = NULL)

其中...是按顺序依次列出的需要整合的图表, ncol是列数,nrow是行数。可以看出,相比于R语言自带函数绘制的图像,在ggarrange()的帮助下,ggplot2绘制的图像整合起来更加方便,下面我们看一个实例,依然使用R语言内置的数据集cars

# 绘制第一个图像
> p1 = ggplot(cars, aes(x = speed, y = dist)) +geom_line(size = 1) +labs(x = "speed", y = 'dist')# 绘制第二个图像
> p2 = ggplot(cars, mapping = aes(x = speed, y = dist)) +geom_point(size = 1, col = 'darker') + labs(x = "speed", y = 'dist') # 整合两张图
> ggarrange(p1, p2, ncol = 2, nrow = 1) 

代码运行结果

dev gridview 打印列数过多_R语言:如何将多张统计图绘制在一张上面相关推荐

  1. dev gridview 打印列数过多_更适合孩子使用的错题打印机,超小体积什么都能打:喵喵机P3测评...

    孩子上了小学之后,就开始有各种各样的作业要求.而且,现在老师养成了远程布置作业的习惯,经常会发首古诗要求打印背诵,发个口算题卡要求打印出来快速口算练习等等. 说实话,这绝对是一个好事,前提是家里有一个 ...

  2. NamingContainer取得 GridView的列数(RowIndex)、对应的资料表 这一列的主索引键

    这是我的文章备份,原文请看:NamingContainer取得 GridView的列数(RowIndex).对应的资料表 这一列的主索引键 http://www.dotblogs.com.tw/mis ...

  3. 帆软报表分页预览打印,如果列数过多,打印时会将多余的列放到第二页来打印,现在需要把所有的列都放在一页来打印。并且填满整个区域

    当我们的报表列数过多时,打印的时候多余的列会分页. , 比如上面的模板我有27列,预览后点击打印的效果为: 第一页, 第二页: 但是我现在想要的效果是所有的列都在一页里,列不分页.并且要填满整个区域. ...

  4. C语言 二维数组行数和列数计算 - C语言零基础入门教程

    目录 一.计算一维数组长度 二.计算二维数组长度 1.二维数组行数 2.二维数组列数 3.二维数组的元素个数 = 二维数组行数 * 二维数组列数 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C ...

  5. r语言 新增一列数字类型_R语言实战之R语言基础语法精讲(一)

    R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具.在学习R数据科学之前,我们首先要对R语言的基础语法有一个良好的了 ...

  6. r语言 新增一列数字类型_R语言实战(2)——创建数据集【学习分享】

    往期回顾: R语言实战(1)--R语言介绍[学习分享] 引言:上一章我们通过简单的例子了解了R语言及R语言能实现的一些功能,本期我们将一起学习R中的数据结构,以及向R中导入数据的方法. 2.1 数据结 ...

  7. r语言 新增一列数字类型_R语言总结

    不连续更新,总结一些实用的R语言操作知识. 如何在RStudio中更新R版本 install.packages("installr") 2. 带P值的箱型图 Input data: ...

  8. r语言 新增一列数字类型_R语言入门简明笔记—(02)

    本视频总结自Youtuber:吴明昊老师的R语言教学视频: Introduction to R Programming. Lecture 1.--Lecture 6. 这里是吴老师的youtube主页 ...

  9. r语言 把2条roc曲线画在同一个图上_R语言如何将多个图像画到一张图

    介绍 有时候我们需要将多个图像排列好放到一张图上,对于R语言基础包的函数,比如plot, barplot, hist等,是可以通过par, layout进行排版,但是对于ggplot的图像,我们需要使 ...

最新文章

  1. POJ 2752 同一个串的前后串
  2. linuxoracle静默安装应答文件修改_Oracle 19c的examples静默安装
  3. 纯CSS导航栏下划线跟随效果
  4. java strlen,跟妹妹聊到 Java 16 新特征,真香!
  5. 通过批处理调用SQL*Plus执行批量脚本
  6. 文件和目录:access函数
  7. gmail邮箱 收信服务器,用fetchmail 通过gmail 收邮件
  8. 阿里开源自研语音识别模型DFSMN 准确率高达96.04%
  9. oracle数据库补丁号解释,Oracle数据库版本对应的PSU和补丁号码
  10. 获取对象属性名的方法 Object.keys() 与 Object.getOwnPropertyNames() 与 for循环
  11. JavaWeb框架三剑客前言
  12. 流体动力润滑(轴承油膜承载机理)
  13. 几个知识点:1.如何用printf打印百分号% 2.一道很坑的递归题 3.关于 非(感叹号) | ^ ~ || ,即位操作和逻辑与、逻辑或 4.左移<<和>>右移这两个移位操作符
  14. 使用matplotlib绘制xkcd风格的图表(解决中文字体问题)
  15. HFSS15 win10安装
  16. android 强制退出程序,Android 强制且彻底的退出app
  17. 微信表情的字符编号完整版【图文并茂哦!】
  18. DAP可视化组件升级开发说明
  19. [洛谷]P2298 Mzc和男家丁的游戏 题解
  20. Warning: L6305W: Image does not have an entry point. (Not specified or not set due to multi

热门文章

  1. 京东上市了,员工有多少股票? .
  2. 为什么你工作努力却没有起色?
  3. 程序员常犯的5个非技术性错误
  4. 集合:按元素的中文属性排序
  5. Linux 文件编辑命令 详细整理
  6. [AHOI2009]最小割(最大流+tarjan)
  7. P4313 文理分科 网络流
  8. mac 下安装pip
  9. 将本地代码上传至github
  10. vim学习笔记(4)帮助与配置