强制将常规绘图对象放入 Grob 以在 grid.arrange 中使用
force a regular plot object into a Grob for use in grid.arrange
b <- ggplot(cars,aes(x=speed,y=dist))+geom_line()
grid.arrange(
b,
plot(cars),
ncol=1
)
出现以下错误
Error in gList(list(grobs = list(list(x = 0.5, y = 0.5, width = 1, height = 1, : only 'grobs' allowed in "gList"
让我们假设我的第二张图必须来自 plot
函数。如何将该输出转换为类似 grob
的对象,以便它与 grid.arrange
一起很好地播放?
你可以试试 gridGraphics
library(gridGraphics)
grab_grob <- function(){
grid.echo()
grid.grab()
}
plot(cars)
g <- grab_grob()
b <- ggplot(cars,aes(x=speed,y=dist))+geom_line()
grid.arrange(
b,g,
ncol=1
)
或者,或者,使用 gridBase。
b <- ggplot(cars,aes(x=speed,y=dist))+geom_line()
grid.arrange(
b,
plot(cars),
ncol=1
)
出现以下错误
Error in gList(list(grobs = list(list(x = 0.5, y = 0.5, width = 1, height = 1, : only 'grobs' allowed in "gList"
让我们假设我的第二张图必须来自 plot
函数。如何将该输出转换为类似 grob
的对象,以便它与 grid.arrange
一起很好地播放?
你可以试试 gridGraphics
library(gridGraphics)
grab_grob <- function(){
grid.echo()
grid.grab()
}
plot(cars)
g <- grab_grob()
b <- ggplot(cars,aes(x=speed,y=dist))+geom_line()
grid.arrange(
b,g,
ncol=1
)
或者,或者,使用 gridBase。