c++ 绘制函数图像_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()

a162d85f762d637f2528aa339d2a05d0.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) 

88d854a3acf8983a24fe953ea5b43d80.png
代码运行结果
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值