在内存中创建ggplot2图?

时间:2015-10-02 11:50:58

标签: r ggplot2

我正在尝试在内存中捕获ggplot2图形创建的结果,以将其发送到服务器。 有谁知道如何解决这个问题?

我的代码目前看起来像这样:

data(mtcars)
x <- ggplot(mtcars, aes(x=mpg, y=hp)) +
  geom_point(shape=1)
print(x) # RStudio can capture the output, but I'm unable to do it.
ggsave(filename="a.jpg", plot=x) # not really a solution, need it not on disk, but as blob in memory.

1 个答案:

答案 0 :(得分:1)

您可以使用magick软件包来完成此操作。

library(magick)
data(mtcars)
x <- ggplot(mtcars, aes(x=mpg, y=hp)) +
  geom_point(shape=1)
fig <- image_graph(width = 400, height=400, res=96)
print(x)
dev.off()
figpng <- image_write(fig, path=NULL, format="png")

figpng现在是绘图的png的原始向量。