【发布时间】:2015-04-17 20:32:40
【问题描述】:
我有一个网格图对象 g。
class(g)
"gtable" "grob" "gDesc"
我可以使用 grid.draw(g) 来绘制绘图。但是,我无法找到将绘图保存到 pdf 文件的方法。
我试过了:
ggsave(g, file="plot.png")
但显然 ggsave 不适用于这样的对象。
这是 ?grid.draw 帮助页面中的一个示例:
grid.newpage()
## Create a graphical object, but don't draw it
l <- linesGrob()
## Draw it
grid.draw(l)
绘图效果很好,但保存/打印会导致问题。
有什么解决方法吗?谢谢!
【问题讨论】:
-
试试
png("myfine.png"); print(g); dev.off()。拥有reproducible example 真的很有帮助。ggsave用于具有gg或ggplot类的ggplot2对象。您在上面列出的类适用于较低级别的grid对象。 (ggplot是建立在网格上的,但它们不是一回事) -
谢谢!但这似乎不起作用。最简单的例子来自 ?grid.draw 帮助页面:grid.newpage(); l
-
从您发布的示例中,哪个对象具有“gtable”类?你指的是
l吗?png("myfile.png"); plot(l); dev.off()对我来说似乎工作得很好。我不明白什么不适合你。 -
感谢您的帮助!是的,这似乎有效!我首先尝试了 print(l) 所以它不起作用。
-
啊,抱歉,我的 plot()s 和 print()s 搞混了。