Rのggplot2で作図したグラフを拡張メタファイル(.emf)として余白無く出力したい

実現したいこと

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

初めての質問で不手際等あるかもしれませんが、御指南いただければ幸いです。

コメントを投稿

0 コメント