本ページはプロモーションが含まれています

広告 Analysis R データ出力・保存

R | ggplot2でグラフを保存する方法をやさしく解説(4つ紹介!)

グラフは作れたけれど、保存の仕方が分からない!

論文用に解像度を指定してグラフを作りたい!

そんな悩みを解決します。

本記事では、ggplot2で作成したグラフをPDFやJPFGに出力・保存する方法について紹介します。

グラフ保存の方法としては、以下の4パターンがあります。

  • 超簡単!コードを使わない方法(RStudioの場合)
  • ggsave関数を使う方法
  • quartz関数を使う方法(Mac)
  • クリップボードにコピー

それぞれについて詳しく解説していきます。

グラフの準備

今回使用するグラフは、ggplot2パッケージに入っているmpgデータセットを使ったこちらのグラフです。

あえて日本語が入ったグラフにしてみました。

このグラフの作成方法は、以下の記事をご確認ください!

関連記事
関連記事

グラフの保存方法

コードを使わずに保存する(RStudio)

RStudioを使っている場合は、コードを使わずに保存することができます!とっても簡単なので、すぐできます。

  1. RStudioでグラフが表示されているPlotsタブのSave as image...をクリック

2. Image formatはお好みで選ぶ。今回はJPEGを指定

3. Directoryで保存先を指定

4. File nameでファイル名を指定

5. WidthとHeightでグラフの縦横を決める

6. Update Previewでグラフの確認

7. Saveで保存

なお、図の右下をドラッグすることで手動で図の大きさを設定することができます

とっても簡単ですね!

ただし、この方法では解像度の設定ができないため、論文提出用の画像を作成するには不向きです。

PDF保存したい場合

PDFで保存したい場合は、Plotタブをクリックした後Save as PDF...をクリックしてください。

この場合、インチでサイズを指定するので感覚的にやりにくい&都度都度プレビュー画面を開くのが手間なので、PDFで保存したい場合は3つ目の方法であるquartz()で保存することをオススメします。

しかも日本語が入っているグラフでは文字化けします(Macの場合)ので、なおさらコードでの保存をオススメします。

ggsave()で保存する

ggsave()はggplot2に入っている関数ですので使い勝手がいいです。

◆ ggsave()の基本形

ggsave(plot = グラフのオブジェクト名,
    filename = "保存先のパス",
    width = 横幅, height = 縦幅,
     dpi = 解像度)

今回は、

 ・グラフのオブジェクト名はg
 ・保存する画像のファイル名は "test.tiff"

 ・保存先はデスクトップ
 ・widthとheightは共に5
 ・解像度は300

として保存します。コードは以下の通りです。

ggsave(plot = g, filename = "/Users/任意の名前/Desktop/test.tiff", 
       width = 5, height = 5, dpi = 300)

実行すればデスクトップにファイルが保存されます!

◆ 解像度の確認方法(Mac)

  • 保存した画像を開く(プレビュー)
  • ツールをクリック
  • インスペクタを表示
  • 一般情報の一番左のタブ内の”イメージのDPI"を確認する

プレビューを開いた後、iボタンを押しても同じ画面が表示されます。

tiff以外にも、png, pdf, jpeg, bmpなどで保存可能です。

ただし、Macの場合は前述の通り、ggsaveで日本語入りのグラフをPDF保存しようとすると文字化けします。そのため、PDF保存したい場合は次のquartz()を使った方法で保存してください。

日本語が入っていない場合は、ggsaveでPDF保存可能です

quartz()で保存する(Mac)

MacでグラフをPDF出力したい場合は、quartz()を使います。

◆ quartz()の基本形

quartz(file = "ファイル名.pdf",
    width = 5, height = 4,
type = "pdf")

g(保存したいグラフのオブジェクト名)

dev.off()

ggsaveだと1行で済みますが、3行実行する必要があります。

実際のコードはこちらのようになります。保存するグラフのオブジェクト名はgとします。

quartz(file = "/Users/任意の名前/Desktop/test.pdf",
       width = 5, height = 4, type = "pdf")
g
dev.off()

この方法を使えば、日本語が入ったグラフをPDFで出力することができますので、ぜひ使ってみてくださいね!

(おまけ)クリップボード保存でコピペする

RStudioの場合、グラフをコピー(クリップボードにコピー)をすることもできます。

  • PlotsタブのExportをクリック
  • Copy to Clipboardをクリック
  • 大きさを指定して、Copy Plot

とりあえずグラフを資料に貼り付けたい時などに便利ですね!

まとめ:保存はggsave()で!Macの場合はquartz()も。

今回はRStudioで作成したグラフの保存方法について、以下の3パターンを紹介しました。

  • RStudioならコードを書かずに保存
  • ggsave()を使った方法
  • (Macの場合)quartz()を使った方法

Macの場合は日本語が文字化けしてしまうので、ggsave以外にもquartzを使った方法を覚えておくといいです。

次回は 1つの図に複数のグラフを並べる方法について紹介します。

この記事がどなたかのお役に立ちますように。

R言語の勉強におすすめの本

今後Rの勉強をしていきたい!という方に、こちらの参考書がおすすめです。
特に、RユーザのためのRStudio実践入門は、tidyverseパッケージに特化して書かれていてとても実用的でしたのでオススメです。私自身、この本を読んでRで出来ることが一気に増えた実感のある本です。kindleで試し読みもできるのでぜひ参考にしてください。

  • この記事を書いた人

かにさん

めんどくさがり日本代表のワーママ。
住んでいる自治体の認可保育料が高いことをキッカケに、全国の保育料まとめブログを書き始めました。
趣味
ブログ執筆、海外ドラマ(刑事モノ)、投資、
面倒なことをいかに楽にこなすか考えること

-Analysis, R, データ出力・保存