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

在使用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()

708ccbf1e5c942bb5867f63a0fe00ede.png
代码运行结果

二、使用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) 

4875809dca0025db32caddf8b63c12ca.png
代码运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转]vue全面介绍--全家桶、项目实例

慢慢了解vue及其全家桶的过程 原文http://blog.csdn.net/zhenghao35791/article/details/67639415 简介 “简单却不失优雅,小巧而不乏大匠”。 2016年最火的前端框架当属Vue.js了,很多使用过vue的程序员这样评价它,“vue.js兼具angular.js和R…

TS 188字节流结构图

应该说真正了解TS,还是看了朋友推荐的《数字电视业务信息及其编码》一书之后,MPEG2 TS和数字电视是紧密不可分割的,值得总结一下其中的一些关系。 ISO/IEC-13818-1:系统部分; ISO/IEC&#xff…

二进制安装mysql 5.7、mariadb (附yum安装方式)

前言:本文以mariadb为例进行讲解,安装mysql同理,并以通过测试。安装前查找系统已安装的相关包(rpm -qa|grep -e "mysql" -e "mariadb")并进行卸载。1、准备mariadb存储数据库文件的目录。mkdir -p…

GLSL/C++ 实现滤镜效果

入门效果之浮雕 "浮雕"图象效果是指图像的前景前向凸出背景。常见于一些纪念碑的雕刻上。要实现浮雕事实上很easy。我们把图象的一个象素和左上方的象素进行求差运算。并加上一个灰度。这个灰度就是表示背景颜色。这里我们设置这个插值为128 (图象RGB的值是0-255)。同…

cv mat的shape_pybind11—opencv图像处理(numpy数据交换)

前言C opencv中图像和矩阵的表示采用Mat类,比如imread()读取的结果就是返回一个Mat对象。对于python而言,numpy 通常用于矩阵运算, 矩阵,图像表示为numpy.ndarray类。因此,想要将python numpy.ndarray的数据传递到C op…

H.264算法的优化策略

文章来源: http://www.tichinese.com/Article/Video/200909/2150.html 编辑:小乙哥 1 代码优化的主要方法 通过代码移植能够获得在DSP上初步运行的代码,但是它由于没有考虑到DSP自身的硬件特点,不适合DSP强大的并行处理能力&#…

吃饭、睡觉、打星星之“打星星”!

大家见过这样的星星么? 你想要多少就可以多少的星星!!! 下面我们就来用奇妙的JavaScript来实现 首先我们要引入一个输入包 let readline require("readline-sync");然后再让客户输入数字,并将其存放起来con…

使用iconv-lite解决node当中不支持GBK编码的问题

1、Node环境当中不支持GBK编码 node.js当中的Buffer对象支持的编码格式的种类有限,大概有ascii、utf8、utf16le、ucs2、base64、binary、hex。不支持GBK的编码形式。对于windows系统来说,由于历史原因,许多文件默认的编码格式均为GBK。 比如我…

mysql 集群架构_mysql企业常用集群架构

转自 https://blog.csdn.net/kingice1014/article/details/760200611、mysql企业常用集群架构在中小型互联网的企业中。mysql的集群一般就是上图的架构。WEB节点读取数据库的时候读取dbproxy服务器。dbproxy服务器通过对SQL语句的判断来进行数据库的读写分离。读请求负载到从库…

关于Vue2.0,Express实现的简单跨域

npm install express -g 通过npm全局安装express,之后可以通过 express --version 来查看express版本 express server 通过express server生成server项目文件 npm install 安装server的项目依赖 可以通过执行server下的bin\www文件可以开启服务 在www文件我们可以默…

mysql返回yyyy mm dd_怎么把取出mysql数据库中的yyyy-MM-dd日期转成yyyy年MM月dd日格式...

您好,通过两个个步骤可以完成转换:第一步:日期处理可以在模板数据集中通过sql语句转换,转换方式方式如下:SELECT DATE_FORMAT(NOW(),%Y) YEAR输出结果:2018SELECT DATE_F…

感动一生的几句话

为什么80%的码农都做不了架构师?>>> 很多东西就掌握在我们手中: 比如快乐,你不快乐,谁会同情你的悲伤; 比如坚强,你不坚强,谁会怜悯你的懦弱; 比如努力,你不…

patator mysql 字典_利用patator进行子域名爆破

前言:原来朋友写的一个子域名爆破工具挺好用,这前几天API接口关了.痛苦万分.自己也写了一个类似的但是不咋稳定.特地google找了下 找到一款patator.效果和速度还是不错的。knock的速度真心受不了啊patator是由Python写的 不用安装下载即可.下载地址:http://code.goo…

[bzoj1059]矩阵游戏

虽然是一道水难题,但是我这种蒟蒻还是要讲一讲的。 Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏。矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的…

golang mysql 插入_Mysql学习(一)添加一个新的用户并用golang操作Mysql

Mysql添加一个新的用户并赋予权限添加一个自己的用户到mysql首先我们需要先用root用户登录mysql,但是刚安装完没有密码,我们先跳过密码ailumiyanaailumiyana:~/Git_Project/Go_Test$ sudo mysqld_safe --skip-grant-tables2019-01-07T01:35:51.559420Z m…

云计算构建基石之Hyper-V:虚拟机管理

本文讲的是云计算构建基石之Hyper-V:虚拟机管理,作为云计算的重要基石,虚拟化技术的好坏起着关键作用。Hyper-V作为微软重要的虚拟化解决技术,在微软云计算构建解决方案中,更是关键至关键,基础之基础。在本系列文章中,…

3GP文件格式分析

1. 概述现在很多智能手机都支持多媒体功能,特别是音频和视频播放功能,而3GP文件格式是手机端普遍支持的视频文件格式。目前很多手机都支持h263视频编码格式的视频文件播放,还有些手机支持h264。音频文件格式普遍支持amr,有些手…

mysql group concat_MySQL 的 GROUP_CONCAT 函数详解

GROUP_CONCAT(expr) 函数会从 expr 中连接所有非 NULL 的字符串。如果没有非 NULL 的字符串,那么它就会返回 NULL。语法如下:GROUP_CONCAT 语法规则它在递归查询中用的比较多,但要使用好它并不容易。所以让我们一起来看看吧:假设有…

光荣之路测试开发面试linux考题之四:性能命令

Hi,大家好我是tom,I am back.今天要给大家讲讲linux系统一些性能相关命令。 1.fdisk 磁盘管理 是一个强大的危险命令,所有涉及磁盘的操作都由该命令完成,包括:新增磁盘、增删改磁盘分区等。 1.fdisk -l 查看磁盘分区情况 Disk /dev/sda: 27.8…

mac安装完mysql后关机特别慢_mysql-Mac终端下遇到的问题总结

为了方便启动mysql服务,修改/etc/.bash_profile文件,如下alias mysql"/usr/local/mysql/bin/mysql"alias mysqladmin"/usr/local/mysql/bin/mysqladmin"或者alias mysqlstart"sudo /usr/local/mysql/support-files/mysql.serve…