簡體   English   中英

如何從arrangeGrob中刪除隨機背景網格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM