Rで解析:プロットをsvgで出力「rvg」パッケージ


投稿日: Rの解析に役に立つ記事 ,

svgはjpegなどのようにピクセル集合で構成された画像ではなく、点と線の集合で構成される画像で拡大によるボケがないのが特徴です。そんなsvgファイルをRの出力から簡単に作成できるパッケージの紹介です。

出力ファイルはフリーソフトのInkscapeなどで編集が可能なので、ウェブ埋め込みだけでなくプレゼン資料などへの利用価値があると思います。

「ggcorrplot」パッケージの出力をSVGで出力する例を紹介します。

・「ggcorrplot」パッケージの紹介
  https://www.karada-good.net/analyticsr/r-381/

また、簡単なプロット内容であればdocxとpptxファイルに出力するコマンドが収録されています。ぜひ、試してみてください。なお、svgはD3.jsでも作成できるようです。

パッケージバージョンは0.0.5。実行コマンドはR version 3.2.2で確認しています。


パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("rvg")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("rvg")

###プロット例の作成#####
#パッケージの読み込み
#ggcorrplotパッケージは下記URLを参考下さい
#https://www.karada-good.net/analyticsr/r-381/
library("ggcorrplot")
#データ数の設定
n <- 10
#listに一度データを格納
ListData <- vector("list", n)
#連続処理
for(i in seq(n)){
  ListData[[i]] <- sample(1:50, n, replace = TRUE)}
#成分名を付与
names(ListData) <- paste0("Group", 1:n)
#データフレーム化
TestData <- as.data.frame(ListData)
#基本コマンドで相関係数を計算:corコマンド
#距離の計算:methodオプション;"pearson","kendall","spearman"の指定が可能
CorResult <- cor(TestData, method = "pearson")
#プロット内容
PlotData <- ggcorrplot(corr = CorResult, hc.order = TRUE, method = "square", title = "TEST PLOT",
                       colors = c("#4b61ba", "white", "red"), lab = TRUE)
########

#プロット内容を作業フォルダにsvgで出力:dsvg()
#ファイル名を指定:fileオプション
#プロットサイズをインチで指定:width,heightオプション
#背景色:bgオプション
#ファイルのみでプロットを表示:standalone
#文字種類を指定:fontname_serif,fontname_sans,fontname_mono,fontname_symbol
dsvg(file = "テスト2.svg", width = 6, height = 6, bg = "white",
     pointsize = 12, standalone = TRUE, fontname_serif = "Times New Roman",
     fontname_sans = "Calibri", fontname_mono = "Courier New", fontname_symbol = "Symbol")
#ここにプロット内容を記述
PlotData
dev.off()

#docxまたはpptxにプロットをsvgで埋め込み出力
#複雑なプロットはファイルエラーが出るので注意
#docxファイル:write_docxコマンド
write_docx(file = "my_plot.docx", code = plot(1:10))
#pptxファイル:write_pptxコマンド
write_pptx(file = "my_plot.pptx", code = plot(1:10))

出力例

・SVG出力
表示倍率を上げてもボケません。

・PNG出力
画像をクリックし表示倍率を上げるとボケます。
rgv2


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク