在R中,如何以SVG格式绘制并输出到内存缓冲区而不是文件

时间:2015-06-05 07:56:31

标签: r

无论如何将SVG绘制到内存缓冲区而不是文件中?

我正在尝试将R嵌入到我自己的应用程序中,因此我可以使用R生成svg图表。我想避免生成文件,然后将svg文件读取到我的应用程序。

我发现了这个In R, how to plot into a memory buffer instead of a file?,但这是针对png格式的。

如果我们可以执行与svg类似的操作并将svg内容保存到字符串变量

那就太棒了

谢谢!

1 个答案:

答案 0 :(得分:3)

gridSVG包可能很有用:

library(ggplot2)
library(gridSVG)


ggplot(iris, aes(Species, Sepal.Length)) + geom_point()

SVGlist <- grid.export(name = NULL)
str(SVGlist, 1)
#List of 4
# $ svg     :Classes 'XMLInternalElementNode', 'XMLInternalNode', 'XMLAbstractNode' <externalptr> 
# $ coords  :List of 18
# $ mappings:List of 5
# $ utils   : chr "// Note that this code is documented using JSDoc and guided by the following URLs:\n// http://code.google.com/p/jsdoc-toolkit/w"| _truncated__

SVGlist$svg
#the SVG code

但是,这仍然需要打印到图形设备。