72

SVGとしてggplot2で作成された積み上げエリア プロット (コードを使用したプロットの例はこちらにあります)を保存したいと考えています。カイロパッケージで試してみましたが、結果は悪いです。

library(ggplot2)
library(grid)
library(Cairo)
...

#png(output_file, width=800, height=400)
Cairo(800,400,file=paste(output_file, ".svg", sep=""),type="svg",bg="transparent",pointsize=8, units="px",dpi=400)

gt <- ggplot_gtable(ggplot_build(p))
gt$layout$clip[gt$layout$name=="panel"] <- "off"
grid.draw(gt)

dev.off()
4

1 に答える 1

106

ggplot2で作成したプロットをSVGとして保存するのは、ggsave関数を使用すると簡単です。

ただし、svgliteなど、ggplot2以外の追加パッケージが必要になる場合があります。

いくつかのサンプルコード:

    require("ggplot2")
#some sample data
    head(diamonds) 
#to see actually what will be plotted and compare 
    qplot(clarity, data=diamonds, fill=cut, geom="bar")
#save the plot in a variable image to be able to export to svg
    image=qplot(clarity, data=diamonds, fill=cut, geom="bar")
#This actually save the plot in a image
    ggsave(file="test.svg", plot=image, width=10, height=8)

それがあなたのために働くことを願っています。

于 2012-09-25T16:07:32.117 に答える