dev gridview 打印列数过多_R语言:如何将多张统计图绘制在一张上面
在使用R語(yǔ)言進(jìn)行數(shù)據(jù)可視化的時(shí)候,常常需要將多張統(tǒng)計(jì)圖表繪制在同一張圖上面,從而更高效地傳遞信息,下面我們就來(lái)一起看看具體如何實(shí)現(xiàn)。
一、使用R語(yǔ)言自帶的函數(shù)繪制的圖像
R語(yǔ)言本身就已經(jīng)內(nèi)置了許多繪圖函數(shù),能夠滿(mǎn)足較為基本的繪圖需求,例如hist()、boxplot()、spineplot()等等。如果我們想要將使用這些函數(shù)繪制的圖像匯總在一張圖中,需要使用split.screen()和screen()函數(shù),具體方法如下:
1. 步驟一:分割屏幕split.screen()
顧名思義,split.screen()函數(shù)是用于分割屏幕的,它需要傳入一個(gè)形似c(nrow, ncol)的參數(shù),意為將屏幕分割為nrow行,ncol列;分割完成后函數(shù)會(huì)返回一個(gè)整數(shù)(integer)型向量,長(zhǎng)度等于nrow * ncol,即為分割之后屏幕的每一個(gè)部分對(duì)應(yīng)的“編號(hào)”。這些“編號(hào)”將用于傳入screen()函數(shù),進(jìn)行后續(xù)的繪圖工作。
2. 步驟二:指定繪圖位置screen()
分隔完屏幕之后,我們需要首先指定一張子圖的位置,使用screen()函數(shù),傳入之前分割屏幕時(shí)返回的“編號(hào)”, 便完成了指定。
3. 步驟三:繪圖
完成指定子圖位置之后,便可以進(jìn)行正常的繪圖工作,使用hist()、boxplot()、spineplot()等函數(shù)進(jìn)行繪圖,注意每繪制完一張圖就需要使用screen()來(lái)更改繪圖的位置。下面我們來(lái)看一個(gè)實(shí)例:
這里我們使用R語(yǔ)言?xún)?nèi)置的數(shù)據(jù)集AirPassengers和cars來(lái)進(jìn)行演示:
# 分割屏幕 > split.screen(c(2, 1)) > [1] 1 2# 繪制第一個(gè)圖 > screen(1) > plot(cars)# 繪制第二個(gè)圖 > screen(2) > plot(AirPassengers)# 結(jié)束繪圖 > dev.off()代碼運(yùn)行結(jié)果二、使用ggplot2繪制的圖像
ggplot2是非常流行的R語(yǔ)言可視化包,功能極為強(qiáng)大,能夠繪制眾多復(fù)雜的統(tǒng)計(jì)圖表。在同一張圖中顯示多張ggplot2圖像同樣也需要借助第三方的R包——ggpubr。 ggpubr包中的ggarrange()可以方便地將多張圖整合在一張上面。其常用的參數(shù)如下:ggarrange(..., ncol = NULL, nrow = NULL) 。
其中...是按順序依次列出的需要整合的圖表, ncol是列數(shù),nrow是行數(shù)??梢钥闯?#xff0c;相比于R語(yǔ)言自帶函數(shù)繪制的圖像,在ggarrange()的幫助下,ggplot2繪制的圖像整合起來(lái)更加方便,下面我們看一個(gè)實(shí)例,依然使用R語(yǔ)言?xún)?nèi)置的數(shù)據(jù)集cars:
# 繪制第一個(gè)圖像 > p1 = ggplot(cars, aes(x = speed, y = dist)) +geom_line(size = 1) +labs(x = "speed", y = 'dist')# 繪制第二個(gè)圖像 > 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) 代碼運(yùn)行結(jié)果總結(jié)
以上是生活随笔為你收集整理的dev gridview 打印列数过多_R语言:如何将多张统计图绘制在一张上面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度学习实时表情识别
- 下一篇: 表情识别项目综述论文阅读总结