我正在尝试在内存中捕获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.
答案 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的原始向量。