Rで解析:EMF/EMF+ファイルの作成「devEMF」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

プロットを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に張り付けた例です。


少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました