R語言中使用par函數在同一繪圖區中繪製多幅圖

2020-12-11 翔宇亭IT樂園

par函數概述

在R繪圖時,有時我們想在一個繪圖區中同時繪製多幅圖。在R語言中可以有多個函數來實現此要求。這裡先介紹一下繪圖參數par函數的使用。

R中的par()函數可以將繪圖區分割成規則的幾個部分。

多圖環境用參數mfrow或參數mfcol來設定,如:

par(mforw=c(3,2))

則是在同一繪圖區中繪製3行2列共6個圖形,而且是先按行繪製,即繪製完第1行的2個圖形後,再繪製第2行的2個圖形,最後是第3行的2個圖形。同理,

par(mfcol=c(3,2))

也是繪製3行2列共6個圖形,與上面不同的是,先按列繪製。即先繪製完第1列的3個圖形,再繪製第2列的3個圖形。

par設定的繪圖參數直至退出前都會有效,即使是在某個函數中使用par()設定的參數,也會影響全局的效果,所以如果在繪圖中需要恢復到初始狀態,可以設置臨時變量保存初始環境。在準備恢復時再使用par(臨時變量)的形式恢復到初始狀態。

繪圖的例子

下面舉例子說明該函數的具體使用方法:

設置一個2×2的多圖窗口,分別繪製 y = sinx, y = cosx, y = 2*sinxcosx和y = tanx的圖像,定義域為[-π,π]

編寫R程序如下:

par(mfrow = c(2, 2))x <- seq(-pi,pi,by=0.1)plot(x,sin(x),typ="l")plot(x,cos(x))plot(x,2*sin(x)*cos(x))plot(x,tan(x))

繪圖結果如下:

R在同一繪圖區繪製多幅圖

怎麼樣,好像這個圖看起來有點醜,不要緊,下面給每個圖以線的形式進行繪製,並加上顏色。如果對plot函數不懂的話,可以查看本號前面有關plot函數的詳細介紹。

重新編寫R程序如下:

par(mfrow = c(2, 2))x <- seq(-pi,pi,by=0.01)plot(x,sin(x),type="l",col=2)plot(x,cos(x),type="l",col="green")plot(x,2*sin(x)*cos(x),type="l",col="blue")plot(x,tan(x),type="l",ylim=c(-30,30),col=6)

這次的繪圖結果如下:

修飾後的圖形

怎麼樣,這次好像比上圖俊俏多了。你可以試一試,很方便。尤其在做科研時,需要多幅圖放在一起做比較,這樣R中的par函數很方便的就實現了這個要求。

如果你對R語言數據分析感興趣,可以關注本號,本號當前著重提供R語言數據分析方面的文章,從基礎到高級,慢慢來,讓我們逐步叩開R語言的大門,遨遊在R的世界中。

本號今後會進一步更新Python,SPSS,Excel等做數據分析方法。歡迎留言,歡迎關注。

相關焦點

  • R語言簡介、安裝、R包的安裝問題、R的繪圖函數概覽、par()函數及plot()函數詳解
    >餅圖、dotchart()克利夫蘭點圖和coplot()條件圖等)中使用,效果等同於在par()中使用。    基礎繪圖包中的低級繪圖函數本身無法繪圖,只在當前高級繪圖函數繪製的圖形中有效,如:text()加文本, legned()加圖例, axis()繪製坐標軸, points()加散點, titles()加標題,
  • R語言中繪製條形圖的函數:barplot
    在實際中,條形圖主要有簡單條形圖,組合條形圖和堆疊條形圖。在R語言的基礎包中可以使用barplot()函數來繪製條形圖。R語言中barplot()函數的基本語法格式如下:barplot(height, names.arg = NULL, beside = FALSE,horiz = FALSE, density = NULL, angle = 45,
  • par函數詳解(下) 繽紛燦爛R語言 醫學方R語言高階課程
    R語言作圖!R語言作圖!說三遍!!| 【繽紛燦爛R語言】| R語言高階課程2.基礎包中的降龍十八掌:par函數詳解(上)| 【繽紛燦爛R語言】| R語言高階課程hello,大傢伙,我是Leopard!我們廢話少說,緊接著上一期的步伐,繼續介紹par()函數的其他幾個參數。
  • R語言之plot繪圖函數的使用
    R有強大的繪圖功能,plot()函數是一種常用的繪圖函數,用其可以繪製散點圖、曲線圖等。plot函數的語法格式R語言中plot()函數的基本格式如下:plot(x,y,...)plot函數中,x和y分別表示所繪圖形的橫坐標和縱坐標;函數中的...為附加的參數。
  • R語言從入門到精通:Day8-圖形繪製|r語言|直方圖|條形圖|圖例_網易...
    在上一次教程中,我們講解了R語言繪圖的諸多函數,想必看到自己做出的圖形,肯定小有成就感吧。在R中,一般使用函數par()或者layout()組合多幅圖形。其中par()圖形參數mfrow=c(nrows, ncols)來創建按行填充的、行數為nrows、列數為ncols的圖形矩陣。另外,可以使用 mfcol=c(nrows, ncols) 按列填充矩陣。
  • R語言中的par()函數終於明白了
    我們用par()函數修改這些參數。這是因為par()函數修改了默認參數,在plot()函數裡,你無須再寫plot(lty=2, pch=17)這段,後面都會按這個默認參數執行plot繪圖。那我們如果想回到最原始的默認參數,不想把lty與pch兩個參數默認設為lty=2, pch=17怎麼辦呢?
  • 每天學習一點R:10.plot和par函數繪圖詳解
    在plot函數中,只需指定最基本的x和y軸對應數據即可進行圖像的繪製,x和y軸數據分別為兩個向量或者是只有兩列的數據框(第一類為x軸,第二列為y軸)。par()函數plot()函數中的所有繪圖參數基本上都是應用par()函數中的參數進行設置,接下來就詳細介紹par()函數中可以設置的繪圖參數。
  • 【R語言】--- graphics包的barplot()函數繪製柱狀圖
    柱狀圖又叫條形圖,是數據展示最重要的一類統計圖,數據分析結果展示中使用頻率非常高,各類統計軟體均能繪製。在R語言中,有很多包可繪製柱狀圖,比如graphics包barplot()函數和ggplot2包geom_bar()函數。 本文介紹graphics包的barplot()函數繪製柱狀圖。
  • R語言中繪製常用函數曲線的方法詳解
    在本號前面的文章中介紹了使用plot函數繪製圖形的方法。本文將使用另外一種方法來繪製常見函數的曲線的方法,如冪函數曲線、指數函數曲線、三角函數曲線等。所用函數簡介本文要使用到的R函數是curve函數。主要的參數如下:expr:函數名稱或一個關於變量x的函數表達式;from,to:表示繪圖的起止範圍;n:一個整數值,表示x取值的數量;add:是一個邏輯值,當為TRUE時,表示將繪圖添加到已存在的繪圖中
  • 乾貨︱ R語言繪圖—基礎圖形參數整理
    所以,在R中,圖形通常是以這種交互式的風格繪製的。如果要通過代碼保存圖形,將繪圖語句夾在開啟目標圖形設備的語句和關閉目標設備的語句之間即可。如要創建次要刻度線,我們需要使用Hmisc包中的minor.tick()函數。
  • R語言繪製條形圖
    熟悉R語言的用戶應該都可以熟練的繪製條形圖,但在實際應用中,我們常常會根據數據展示的需求對條形圖進行調整,這就需要我們花費大量時間了解條形圖繪製函數的一些參數及高級方法。基於此,本文整理出一些常用的條形圖繪製代碼,希望可以為大家帶來一些方便。
  • 基礎包中的降龍十八掌:par函數詳解(上) 【繽紛燦爛R語言】 R語言高階課程
    我們的R語言數據可視化之旅從本期就要正式拉開序幕了。不過也請大家稍安勿躁,羅馬不是一天建成的,科比的鐵也不是一個賽季就打完的(我是十幾年的鐵桿科蜜!,一不小心暴露了年齡……)。所以,任何事都是一個循序漸進的過程,還是老路子,我們從最簡單的開始。那麼首先,我將分兩期內容,給大家介紹基礎繪圖包中的開山大佬——par()函數。為甚麼一上來就介紹par()?
  • R語言數據分析從入門到進階-R語言數據可視化基礎-基礎繪圖函數部分代碼
    》視頻已在B站上線,本文是第6部分R語言數據可視化基礎的基礎繪圖函數的代碼。在B站上這部分視頻被單獨發布在《R語言數據可視化基礎》系列中,大家可以單獨觀看。希望大家能夠對照視頻,找數據,寫代碼,發現不對的時候再來參考代碼。有任何問題都可以在視頻的評論區留言交流,UP主會竭盡所能幫助大家解決問題。
  • 10天學會|Python繪圖(7):繪製3D函數圖
    譚編前面也推出過利用OriginPro2019繪製過函數圖像。今天譚編採用Python3.6演示從一個z=f(x,y)類型的公式如何創建並繪製3D函數圖。本教程入選《同一幅圖》第一期:繪製3D函數圖。文末有關於《同一幅圖》項目的策劃簡介。2. 3D函數圖像本講利用Python3.6將上述兩個公式,在同一張三維坐標系中繪出2個曲面函數圖像。3.代碼原始碼文末有下載方式。
  • R語言(繪圖入門)
    基本的繪圖類型有以下幾種,使用 type= 參數指定:p:僅數據點,默認值。l:僅線段b:線段與點c:僅線段,但點的位置留出空白o:線段與點,但線段會延伸到點內部h:直方圖風格,即帶豎直密度線s:階梯圖S:其他特殊情況n;不繪製圖形。
  • 每天學習一點R:19.箱須圖的繪製
    ,y1 = 0.16,lwd = 4)mtext(side = 2,text = "GDI index",cex = 3.5,line = 5)segments(x0 = 1,y0 = 0.08,x1 = 1,y1 = 0.11,lwd = 4)segments(x0 = 1,y0 = 0.11,x1 = 2,y1 = 0.11,lwd = 4)segments(x0 = 2,y0 = 0.11,x1
  • R語言中使用stem函數繪製莖葉圖
    R語言中提供了很多實用的函數幫助我們處理統計量。前面的文章中介紹了均值、方差、全距、幾何平均數等的計算方法,還給出了繪製條形圖,直方圖,散點圖,餅圖,箱線圖等的繪製方法,本文將介紹統計學中的另外一種圖的繪製方法:莖葉圖。歡迎感興趣的讀者關注本號,本號會詳細介紹R在各個方面的使用方法。
  • 手把手教學,R語言基礎繪圖
    R語言是用於統計分析、繪圖的語言和操作環境。R的統計分析能力突出,有強大的數據展示能力。
  • 【R畫圖】使用R繪製其他圖形之熱圖及網絡圖
    繪製,也可以通過ggplot2包中的geom_tile()函數或geom_raster()函數繪製,這裡就以ggplot2包中的函數為例:library(ggplot2)#使用geom_tile()函數ggplot(data = df, mapping = aes(x = Year, y = Quater, fill = Counts
  • R語言中使用lines函數繪製折線圖
    lines函數概述R語言中,abline函數每次僅能繪製一條直線,如果給出若干點,依次用線段連接起來的話,這可以藉助lines函數。R語言中lines函數的使用格式如下:lines(x, y = NULL,...)其中,x和y為繪製直線的點向量,x和y應為數值型向量。附加參數可以用來指定線型(如點線,點劃線等)、線的顏色、線的寬度等等。