プロットを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に張り付けた例です。
少しでも、あなたの解析が楽になりますように!!