2012-11-19 67 views
4

我試圖在一個面板上創建多個圖形。我希望在意大利麪條的兩邊都有盒子情節。多面板圖:箱形圖和spagetti圖

這是我的代碼示例:

par(mfrow=c(1,3)) 

boxplot(h~y,dat, 
xlab="Y", 
ylab="Incidence 1 (percent)", 
main="H", 
scales=list(x=list(at=c(1,2)))) 

xyplot(H~Yr,groups=Subject,type="b",data=data, 
ylab="Incidence (percent)", 
xlab="Year", 
main="Incidence", 
scales=list(x=list(at=c(1,2)))) 

boxplot(h1~y1,dat1, 
xlab="Y", 
ylab="Incidence 2 (percent)", 
main="R", 
scales=list(x=list(at=c(1,2)))) 

當我繪製我的第一個框情節事情看起來OK(還有空的空間準備填充),但一旦意大利麪條情節加入,整個圖形是意大利麪圖(箱形圖被刪除)。

有沒有辦法在一個面板上完成多個但不同類型的圖形?

+0

我知道'xyplot'有一個可選的'layout'參數,儘管恐怕我從來沒有打擾過使用它。 –

+0

看看'gridExtra'和'grid.arrange' – mnel

+2

在您搜索r-help檔案時,您應該包含術語晶格和基礎圖形。他們有不同的coordiante系統,所以混合它們相當棘手。您可能想看看Paul Murrell的'gridBase'軟件包。 –

回答

1

由於@DWin和@mnel指出,你有麻煩,因爲你試圖混合基地圖形(boxplot())和電網基於圖形(xyplot())。要在一個圖中獲得兩個箱形圖和意大利麪條圖,您有三個主要選項。前兩個會比第三要容易得多:

  1. 只使用圖形的基礎(這裏boxplot()plot(, type="b")),與par(mfrow=c(1,3)一個單一的數字排列它們。
  2. 使用只是電網基於圖形(這裏的功能bwplot()xyplot(, type="b")),從gridExtragrid.arrange()一個單一的數字排列它們。
  3. 使用基於網格的基於圖形的圖形(就像您現在要做的那樣),將它們合併到一個圖中,其中包含來自gridBase包的函數。

唯一要選項3可以說是追求它會教你很多關於基地和電網圖形系統兩者的低級實現!