実現したいこと
ggplot2で作図したグラフを拡張メタファイル(.emf)として余白無く出力したい
前提
R言語を用いた解析を行っています。
ggplot2を用いて作図したグラフを拡張メタファイル形式として出力し、パワーポイントなどで細かく編集することがあります。
その際に、グラフ部分だけを余白無く出力したいのですが、どうしても画像の右端、下端にわずかな余白ができてしまいます。
現在はパワポ上でトリミングしているのですが、可能ならRからの出力時に余白無く出力したいです。
該当のソースコード
R
1require(ggplot2) 2require(cowplot) 3require(devEMF) 4 5# 例として二次関数のデータフレームを用意 6df = data.frame(x=0:10, y=(0:10)^2) 7 8# 拡張メタファイルとして出力したい 9emf(file="test.emf") 10 11# x=0~10, y=0~100の範囲の二次関数のグラフを、余白無く作成したい 12gg = ggplot(df, aes(x=x, y=y)) 13gg = gg + 14 geom_line() + 15 theme_nothing() + 16 scale_x_continuous(expand=c(0,0), limits=c(0, 10)) + 17 scale_y_continuous(expand=c(0,0), limits=c(0, 100)) + 18 labs(x = NULL, y = NULL) 19 20# 言いたいことが伝わりやすいようにx=10とy=0に線を引く 21# 本当はこの線が図の一番右端および下端に来てほしい 22gg = gg + 23 geom_vline(xintercept=10, linewidth=1) + 24 geom_hline(yintercept=0, linewidth=1) 25 26# 作成したグラフを出力する 27plot(gg) 28dev.off()
上のコードを実行して出力される画像です(ここに表示するためにリサイズ・jpegへの圧縮を行いましたが、emfでも同じ図です)。
この水平線・垂直線の右と下に、わずかに余白が残ってしまうのが分かるでしょうか? これを無くしたいです。
試したこと
theme_nothing()を用いず、ggの下に細かく余白を無くす条件を書くことも試しましたが、上手くいきませんでした。
他サイトで恐縮ですが、こちらも参考にしました。
https://qiita.com/ocean_f/items/03a31a8a7ce222bb3838
https://stackoverflow.com/questions/31254533/when-using-ggplot-in-r-how-do-i-remove-margins-surrounding-the-plot-area/31255629
補足情報(FW/ツールのバージョンなど)
R-4.3.0
RStudio 2023.03.1 Build 446
初めての質問で不手際等あるかもしれませんが、御指南いただければ幸いです。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。