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.pswp.cn/news/454969.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454969.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454969.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

264分析兩大利器 和 視頻系列下載:264VISA和Elecard StreamEye Tools

學了264有將近3個月有余,好多時候都在學習老畢的書和反復看JM86的代碼,最近才找到264分析兩大利器:264VISA和Elecard StreamEye Tools。不由得感嘆,恨不逢同時。 簡單的說下這兩個軟件: 264visa 強力的h264實時分析工具…

[轉]vue全面介紹--全家桶、項目實例

慢慢了解vue及其全家桶的過程 原文http://blog.csdn.net/zhenghao35791/article/details/67639415 簡介 “簡單卻不失優雅,小巧而不乏大匠”。 2016年最火的前端框架當屬Vue.js了,很多使用過vue的程序員這樣評價它,“vue.js兼具angular.js和R…

opencv 星空_opencv如何將大于5000像素點的輪廓繪制出來?

contourArea函數的運用。具體例子可以看下面的。《如何獲得物體的主要方向?》代碼略解:1、讀入圖片,尋找輪廓;//讀入圖像,轉換為灰度Mat img imread("e:/sandbox/pca1.jpg");Mat bw;cvtColor(img, bw, COLO…

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…

mysql 自動分表_Mysql Event 自動分表

create table TempComments Like dycomments;上述 SQL語句創建的新表帶有原表的所有屬性,主鍵,索引等。自動分表怎么做呢?使用上述語句自動創建分表。那么ID怎么設置呢?更改表格自增主鍵的起始值 例如 表格為 xxx_201604 那么將起…

《大道至簡》周愛民讀后感

作為一個準大二的軟件工程系的學生,初讀此書,很多部分是不太容易理解的,自己又沒有經歷過,感覺差了一個高度似的。自己讀的挺蒙,于是就去百度了一下這本書的讀后感,看看別人讀懂了什么,許多的評…

使用iconv-lite解決node當中不支持GBK編碼的問題

1、Node環境當中不支持GBK編碼 node.js當中的Buffer對象支持的編碼格式的種類有限,大概有ascii、utf8、utf16le、ucs2、base64、binary、hex。不支持GBK的編碼形式。對于windows系統來說,由于歷史原因,許多文件默認的編碼格式均為GBK。 比如我…

c1

dmg和package是安裝文件,dmg直接拖進應用程序中,pkg要進行安裝。 playfround是swift項目。--ios -----oc(面向對象的C) -----swift(oc的封裝)1963年劍橋大學退出cpl,1967年對cpl簡化推出bcpl,1970貝爾實驗室對bcpl簡化…

mysql必_MySQL必知必會(一)

摘自《MySQL必知必會》1.1.1 什么是數據庫數據庫:保存有組織的數據的容器(通常是一個文件或一組文件)人們通常用數據庫這個術語來代表他們使用的數據庫軟件。這是不正確的,它是引起混淆的根源。確切地說,數據庫軟件應稱為DBMS(數據庫管理系統…

python之工作舉例:通過復制NC文件來造數據

1 # 通過對NC文件復制來造數據2 import os, shutil3 4 # 遍歷的根目錄5 root_dir "D:\\test_data\\DISASTER\\"6 # 獲取NC文件的時間7 time_source 201612280800008 # 生成NC文件的時間9 time_new 2018122808000010 11 12 def get_dir_path(dir_name, time_str):1…

Python 3.5.2 TypeError: a bytes-like object is required, not 'str’問題解決方案

運行環境Mac Python 3.5.2 Q: http_response """\ HTTP/1.1 200 OK Hello, World! """ client_connection.sendall(http_response) TypeError: a bytes-like object is required, not str 類型錯誤,需要的是一個byte類型&#xff0…

mysql 集群架構_mysql企業常用集群架構

轉自 https://blog.csdn.net/kingice1014/article/details/760200611、mysql企業常用集群架構在中小型互聯網的企業中。mysql的集群一般就是上圖的架構。WEB節點讀取數據庫的時候讀取dbproxy服務器。dbproxy服務器通過對SQL語句的判斷來進行數據庫的讀寫分離。讀請求負載到從庫…

h.264視頻文件封裝

所謂封裝格式就是將已經編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個文件中,也就是說僅僅是一個外殼,或者大家把它當成一個放視頻軌和音頻軌的文件夾也可以。說得通俗點,視頻軌相當于飯,而音頻軌相當于菜,封裝格…

python cookbook 筆記三

分組: rows [{address: 5412 N CLARK, date: 07/01/2012},{address: 5148 N CLARK, date: 07/04/2012},{address: 5800 E 58TH, date: 07/02/2012},{address: 2122 N CLARK, date: 07/03/2012},{address: 5645 N RAVENSWOOD, date: 07/02/2012},{address: 1060 W A…

關于Vue2.0,Express實現的簡單跨域

npm install express -g 通過npm全局安裝express,之后可以通過 express --version 來查看express版本 express server 通過express server生成server項目文件 npm install 安裝server的項目依賴 可以通過執行server下的bin\www文件可以開啟服務 在www文件我們可以默…