ggsave関数でggplot2のグラフをファイルに保存する

ggplot2で描画したグラフをファイルに保存するにはggsave関数を使う.

library(ggplot2)

p <- qplot(carat, price, data = diamonds, color = clarity)

# 描画して確認
print(p)

# PNG画像として保存
ggsave(file = "diamonds.png", plot = p)


解像度/画像サイズの指定

画像の解像度やサイズを指定するには,それぞれdpiパラメータ(pixel/inch),widthパラメータ(inch),heightパラメータ(inch)を使う.

p <- qplot(carat, price, data = diamonds, color = clarity)
ggsave(file = "diamonds.png", plot = p, dpi = 100, width = 6.4, height = 4.8)

上の例では,保存される画像の解像度は100dpi,画像サイズは幅6.4inches (= 640pixels),高さ4.8inches (= 480pixels).画像のピクセルサイズはdpiとインチの積となる.

解像度や画像サイズを指定しないで保存すると非常に大きなサイズの画像が生成される傾向があるみたいなので,小さい画像を作りたい場合はちゃんと手動でサイズを指定した方がいいだろう.

画像形式

保存される画像の形式はggsave関数がfileパラメータの拡張子を判別してよしなにやってくれる.ggplot2 ver 0.8.9で保存可能な画像形式は以下の通り.

  • eps/ps
  • tex (pictex)
  • pdf
  • jpeg
  • tiff
  • png
  • bmp
  • svg
  • wmf (Windowsのみ)

plotパラメータの省略

ggsave関数のplotパラメータには保存対象のggplotオブジェクトを指定するが,省略した場合はlast_plot関数の値が利用される.そのため,最後に描画した図を保存する場合はplotパラメータは省略できる.

qplot(carat, price, data = diamonds, color = clarity)
ggsave(file = "diamonds.png")

参考資料

ggsave関数のヘルプ.恐らくこれを読むだけで十分だと思う.

?ggsave