情节(p)和情节(ggplot_gtable(ggplot_build(p)))当情节背景透明时似乎没有给出相同的输出

时间:2018-01-02 19:14:55

标签: r ggplot2

我有以下R ggplot代码:

require(ggplot2)
require(ggthemes)

df <- data.frame(x=1:10, y=5*(1:10))

p <- ggplot(df, aes(x,y)) +
   geom_point() +
   theme_few() +
   theme(plot.background = element_rect(fill='transparent', colour=NA), legend.position='top')

pdf('test.pdf', width=5, height=2)

plot(p)

plot(ggplot_gtable(ggplot_build(p)))

但我确实得到了两个不同的数字:

enter image description here

enter image description here

我喜欢第一个数字(即没有面板区域外的背景网格)。但是,我还需要使用ggplot_build()进行其他处理。你能帮忙吗?

1 个答案:

答案 0 :(得分:2)

您可以直接复制ggplot2::print.ggplot更多的内容。这似乎有效。

pdf('test.pdf', width=5, height=2)

plot(p)

grid::grid.newpage()
grid::grid.draw(ggplot_gtable(ggplot_build(p)))

dev.off()