日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

visio 科学图形包_R可视乎|混合多个图形

發布時間:2025/3/20 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 visio 科学图形包_R可视乎|混合多个图形 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在同一頁面上混合多個圖形是一種常見的做法。它可以在同一數字上 總結大量信息,例如,它被廣泛用于科學出版物。

par()

一頁多圖用mfrow參數或mfcol參數規定,這也是我幾年前經常用的一種方法。

x <- rnorm(50) y <- rnorm(50,2,2)

隨便模擬產生數據,并對數據繪制一些簡單的圖,用該函數將一頁中對他們進行全部展示。

par(mfrow=c(2,2)) plot(x, y, xlab = "", ylab = "") hist(x,main='') qqnorm(x,main = '');qqline(x) barplot(x, axes = FALSE, space = 0,col='white')

layout()

layout(mat, widths = rep.int(1, ncol(mat)),heights = rep.int(1, nrow(mat)), respect = FALSE)
  • mat 參數為一個矩陣,提供了作圖的順序以及圖形版面的安排。0代表空缺,不繪制圖形,大于0 的數代表繪圖順序,相同數字代表占位符。
  • widths 和 heights 參數提供了各個矩形作圖區域的長和寬的比例。
  • respect 參數控制著各圖形內的橫縱軸刻度長度的比例尺是否一樣。
  • n 參數為欲顯示的區域的序號。

生成2行2列的版面,并設置寬度和高度。par()中oma參數指四個外邊空的行數

par(oma = c(2,2,2,2)) nf <- layout(matrix(c(1,2,1,3),2,2),widths = c(1, 3), heights = c(1, 2)) layout.show(nf)

再將各個圖進行填充

plot(x, y, xlim = xrange, ylim = yrange, xlab = "", ylab = "") barplot(xhist$counts, axes = FALSE, ylim = c(0, top), space = 0) barplot(yhist$counts, axes = FALSE, xlim = c(0, top), space = 0, horiz = TRUE)

前面兩種方法,說實話可以實現,但是比較費勁。那么下面看看gridExtra包。

gridExtra包—grid.arrange()

gridExtra包讓混合多個圖片變得輕而易舉。它提供了grid.arrange() 函數來完成 這個任務。它的nrow參數允許指定如何安排布局。

對于更復雜的布局,arrangeGrob() 函數允許做一些嵌套。這里有 4 個 例子來說明 gridExtra 是如何工作的:

library(ggplot2) library(gridExtra)

這里我們用ggplot繪圖,并存在變量名稱(g1,g2,g3)中,然后用grid.arrange()將各個變量名稱展現出來。

# Make 3 simple graphics: g1 <- ggplot(mtcars, aes(x=qsec)) + geom_density(fill="slateblue") g2 <- ggplot(mtcars, aes(x=drat, y=qsec, color=cyl)) + geom_point(size=5) + theme(legend.position="none") g3 <- ggplot(mtcars, aes(x=factor(cyl), y=qsec, fill=cyl)) + geom_boxplot() + theme(legend.position="none") g4 <- ggplot(mtcars , aes(x=factor(cyl), fill=factor(cyl))) + geom_bar() # Plots grid.arrange(g1, g2, g3, nrow = 3)

當然可以使用參數arrangeGrob(),下面繪制了兩行,第一行是g2,第二行是g3,g4.

grid.arrange(g2, arrangeGrob(g3, g4, ncol=2), nrow = 2)

下面繪制了兩行,第一行是g2,第二行是g3,g4,g1.

grid.arrange(g2, arrangeGrob(g3, g4, g1,ncol=3), nrow = 2)

總結

以上是生活随笔為你收集整理的visio 科学图形包_R可视乎|混合多个图形的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。