プロットをWindowsでおなじみの「EMF」ファイルまたは「EMF+」ファイルで出力可能なパッケージの紹介です。パッケージ収録の「emf」コマンドと「dev.off」コマンドの間にプロットコマンドを記述するだけで出力できます。
簡単にファイルサイズが小さく綺麗な画像を出力でき、Microsoft OfficeやLibreOfficeで利用することが可能です。
パッケージバージョンは4.1-2。windows11のR version 4.2.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("devEMF")
実行コマンド
詳細はコマンド、パッケージのヘルプを確認してください。図は「ggtrace」パッケージを利用してプロットしました。
#パッケージの読み込み
library("devEMF")
#EMFファイルの作成:emfコマンド;dev.offコマンドと組み合わせて使用します
#出力ファイル名:fileオプション
#幅,高:width/heightオプション
#幅,高の単位:unitsオプション;"in","cm","mm"
#ラベル等のフォントサイズ:pointsizeオプション
#各種EMF+ファイルの設定:
#emfPlus/emfPlusFont/emfPlusRaster/emfPlusFontToPathオプション
#LibreOfficeに適応するEMFファイルは:emfPlusオプションをTRUEにする
emf(file = "出力ファイル名",
width = 7, height = 7,
units = "cm", pointsize = 12,
emfPlus = TRUE, emfPlusFont = FALSE,
emfPlusRaster = FALSE, emfPlusFontToPath = FALSE)
###########################
###emfコマンドの仕様例#####
###########################
###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
#乱数の固定
set.seed(1234)
n <- 30
GName <- paste0("Group", 1:3)
TestData <- tibble(Group = rep(GName, each = n),
Day = rep(1:n, time = length(GName)),
X = sample(c(1:50), n*length(GName), replace = TRUE),
Y = sample(c(51:100), n*length(GName), replace = TRUE))
########
#「ggtrace」パッケージを利用してプロット
#https://www.karada-good.net/analyticsr/r-737/
#ggtraceパッケージがなければインストール
if(!require("ggtrace", quietly = TRUE)){
install.packages("ggtrace");require("ggtrace")
}
#StepPlotのアウトラインとハイライトを作成:geom_step_traceコマンド
TestPlot <- ggplot(TestData, aes(x = Day, y = Y, fill = Group)) +
#geom_step_traceコマンド
#オプションはgeom_line_traceコマンドと共通
geom_step_trace(
trace_position = Day <= 10 | Day >= 20,
background_params = list(color = "red", fill = "grey75",
size = 1, stroke = 0.5,
linetype = 1, alpha = 0.5),
color = "#4b61ba", size = 1, stroke = 1,
linetype = 1, alpha = 1) +
theme(plot.background = element_rect(fill = "black"),
panel.background = element_rect(fill = "black"),
axis.text = element_text(colour = "white"))
########
###作業フォルダにEMFファイルを出力#####
emf("TestGGplot.emf")
#emfコマンドとdev.offコマンドの間にプロットコマンドを記述する
TestPlot
dev.off()
########
出力例
出力をPowerPointに張り付けた例です。
少しでも、あなたの解析が楽になりますように!!