在 R ggplot2 中将 gtable 转换为 ggplot

Fen*_*ian 3 r ggplot2

虽然 gtable 可以使用 转换为 ggplot ggplotify::as.ggplot,但输出与原始 ggplot 不同。例如:

library(ggplot2)
p <- ggplot(mtcars, aes(wt, mpg)) + geom_point()
g <- ggplot_gtable(ggplot_build(p))
p_new <- ggplotify::as.ggplot(p)

# origin
p + theme(aspect.ratio = 2)

# changed
p_new + theme(aspect.ratio = 2)   # different figure shape from the origin one
Run Code Online (Sandbox Code Playgroud)

我如何将 gtable 转换为与原始 ggplot相同的ggplot ?p_newp

s_t*_*s_t 6

您可以使用 ggplotify::as.ggplot()

library("ggplotify")
as.ggplot(q)
Run Code Online (Sandbox Code Playgroud)