Rで解析:プロットや画像の複数表示に便利です「multipanelfigure」パッケージ


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

プロットや画像の複数表示に便利なパッケージの紹介です。ggplot2パッケージとけもフレ図鑑から画像を取得して表示する例の紹介です。

・けものフレンズ公式サイト
 http://kemono-friends.jp/

パッケージバージョンは0.9.0。windows 10のR version 3.3.3で動作を確認しています。


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

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

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

コマンドの紹介

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

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

###データ例の作成#####
n <- 500 TestData <- data.frame("Group" = sample(paste0("Group", 1:3), n, replace = TRUE), "Data" = rnorm(n)) ######## ###プロット例の作成##### library("ggplot2") BoxPlot <- function(i = rainbow(16)[sample(1:16, 1)]) { ggplot(TestData, aes(x = Group, y = Data)) + geom_boxplot(fill = i) } ######## #プロット区分を設定:multi_panel_figureコマンド #各プロット区分の幅:widthオプション #各プロット区分の高さ:heightオプション #区分の列数:columnsオプション #区分の行数:rowsオプション PlotArea <- multi_panel_figure(width = 150, height = 150, columns = 3, rows = 3) #確認 PlotArea #区分へプロット:fill_panelコマンド #プロット区分変数とfill_panelコマンドを%<>%で繋ぐのがポイント for(i in 1:9){ PlotArea %<>% fill_panel(panel = BoxPlot()) } #確認 PlotArea ###例えばこんな使い方1##### #プロット区分を設定 PlotArea <- multi_panel_figure(width = 150, height = 150, columns = 3, rows = 3) #プロット区分を指定してプロット #プロット1 PlotArea %<>% fill_panel(panel = BoxPlot(), column = 1:2, row = 1:2) #プロット2 PlotArea %<>% fill_panel(panel = BoxPlot(), column = 3, row = 1:2) #プロット3-5 PlotArea %<>% fill_panel(panel = BoxPlot(), column = 1, row = 3) PlotArea %<>% fill_panel(panel = BoxPlot(), column = 2, row = 3) PlotArea %<>% fill_panel(panel = BoxPlot(), column = 3, row = 3) #確認 PlotArea ######## ###例えばこんな使い方2##### #画像表示スケールやクリッピングの設定も可能です #キャラ画像を取得 FileList <- NULL for(n in 1:6){ #けもフレ図鑑から取得 GetUrl <- paste0("http://kemono-friends.jp/wp-content/themes/kemono-friends/assets/zoo/img/detail/", formatC(n, width = 3, flag = "0"), "/chara.png") #Tempフォルダへ保存設定 FilePath <- paste0(tempfile(), "chara_", formatC(n, width = 3, flag = "0"), ".png") #保存 download.file(GetUrl, destfile = FilePath, mode="wb") #ファイル名を保存 FileList <- c(FileList, FilePath) } #プロット区分を設定 PlotArea <- multi_panel_figure(width = 150, height = 150, columns = 3, rows = 3) #プロット区分を指定してプロット #プロット1:画像表示スケール設定 PlotArea %<>% fill_panel(panel = FileList[1], scaling = "fit", column = 1, row = 1:2) #プロット2 PlotArea %<>% fill_panel(panel = FileList[6], scaling = "fit", column = 3, row = 1:2) #プロット3-5 PlotArea %<>% fill_panel(panel = FileList[2], scaling = "none", column = 1, row = 3) PlotArea %<>% fill_panel(panel = FileList[4], scaling = "fit", column = 2, row = 3) PlotArea %<>% fill_panel(panel = FileList[3], scaling = "fit", column = 3, row = 3) #プロット6:クリッピング設定 PlotArea %<>% fill_panel(panel = FileList[5], panel_clip = "off", column = 2, row = 2) #確認 PlotArea ######## [/code]


出力例

・multi_panel_figureコマンド

・fill_panelコマンド

・例えばこんな使い方1

・例えばこんな使い方2


少しでも、あなたの解析が楽になりますように!!「サクラクエスト」が面白い。Raspberry Piのutunbu server 静的IPの設定がうまくいかないですいったようです。よし、次はRStudio Serverの導入です。

スポンサードリンク

関連コンテンツ


スポンサードリンク