将gtable转换为ggplot在R ggplot2中

3
虽然可以使用ggplotify::as.ggplot将gtable转换为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

我该如何将gtable转换为与原始ggplot p 相同的p_new?请注意,不要改变内容,保留HTML标签。

这可能会有所帮助:https://cran.r-project.org/web/packages/ggplotify/vignettes/ggplotify.html - undefined
@markus 谢谢,但是 as.ggplot 无法完美地实现这个功能。 - undefined
spect.ratio?你是指 aspect.ratio 吗?这对我来说是有效的。尽管如此,它并没有完全渲染相同。我不知道为什么会这样。例如,paspect_ratio=10 应该是 p_newaspect_ratio=5.3。请明确你的问题。 - undefined
@M-M 我是指 aspect.ratio。我只是拿它作为一个例子,来展示 p_newp 是不同的。 - undefined
你说的东西是不能改变的。其实是可以改变的,只是不一样而已。这是一个非常具体的问题,需要澄清。请编辑问题并明确表达。否则,它将被关闭为拼写错误/无法重现。 - undefined
@M-M 你说得对。问题是如何获得与 p 相同的 p_new - undefined
1个回答

6

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

library("ggplotify")
as.ggplot(q)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接