[英]how do I get rid of random background grid from arrangeGrob
我需要在網格中包含幾個圖,通常是一個不均勻的數字, 因此通常會有一個“空白點” 。 我需要使用arrangeGrob()
- 而不是grid.arrange()
- 因為我想稍后保存繪圖,而不是立即plot()
。
這很好用,但奇怪的是, arrangeGrob()
在空白點留下了一些奇怪的背景。
像這樣:
library(ggplot2)
p1 <- ggplot(mtcars, aes(x=factor(cyl), y=mpg)) + geom_boxplot()
p2 <- ggplot(mtcars, aes(x=factor(cyl), y=wt)) + geom_boxplot()
p3 <- ggplot(mtcars, aes(x =factor(cyl), y=disp)) + geom_boxplot()
library(gridExtra)
y <- arrangeGrob(p1, p2, p3, ncol = 2)
plot(y)
產生一個情節,右下角有一些奇怪的灰色東西:
將其與grid.arrange()
進行比較:
grid.arrange(p1, p2, p3, ncol = 2)
產生一個漂亮的情節,沒有灰色怪異:
右下角的灰色東西來自哪里? 我怎么擺脫它呢?
請注意,通過改變ncol
我無法避免空洞 ; 我有時會有不均勻的情節 ,所以總會有空點。 我沒有空位,我只是喜歡他們干凈。 (孤立地說,最后一句話聽起來很像OCD-ish 。
UPDATE
包作者(?)回答如下:我應該使用grid.draw(y)
。
類似的問題仍然存在(可能是相同的根本原因?):如果您之前繪制了一些對象,那么“空白點”仍然會被過去的情節所占據。 奇怪的。 像這樣:
plot(p1)
grid.draw(y)
收益率:
arrangeGrob()
現在返回一個gtable,你應該用grid.draw()
繪制,而不是plot()
。
grid.draw(y)
產量
要從過去的圖表中刪除人工制品(按照上面的更新),請使用grid.newpage()
。
刪除nrow
參數。 像這樣:
library(ggplot2)
p1 <- ggplot(mtcars, aes(x=factor(cyl), y=mpg)) + geom_boxplot()
p2 <- ggplot(mtcars, aes(x=factor(cyl), y=wt)) + geom_boxplot()
library(gridExtra)
y <- arrangeGrob(p1, p2, ncol = 2)
plot(y)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.