複数の円グラフを簡単に作成可能なパッケージの紹介です。「ggplot2」パッケージのコマンドと組み合わせて使用できるので大変便利です。なお、「geom_pie_interactive」コマンドと「ggiraphパッケージのgirafeコマンド」を組み合わせることでインタラクティブなプロットも作成可能です。
パッケージのバージョンは1.0.0。windows 11のR version 4.4.1で確認しています。
パッケージのインストール
下記コマンドを実行してください。
# パッケージのインストール
install.packages("PieGlyph")
実行コマンド
詳細はコメントやコマンドヘルプを確認してください。
# パッケージの読み込み
library("PieGlyph")
### データ例の作成 #####
# tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
# 乱数の設定
set.seed(1234)
n <- 32
# プロットデータ
TestData <- tibble(
# slicesオプションに設定するGroupなどのデータ
Group = rep(paste0("Group", 1:4), times = 8),
# x軸の座標
X_Point_Data = rep(c(1:4), each = 4, times = 2),
# y軸の座標
Y_Point_Data = rep(LETTERS[1:2], each = 16),
# 数値データ
Value_Data = sample(c(1:5), n, replace = TRUE)/33)
# 円グラフのラベル用データ
LabelData <- tibble(
# 円グラフに付けるラベルデータ
Label = rep(paste0("質問", 1:4), times = 2),
# x軸の座標
X_Point_Data = rep(c(1:4), times = 2),
# y軸の座標
Y_Point_Data = rep(LETTERS[1:2], each = 4)
)
########
# 円グラフをプロット:geom_pie_glyphコマンドの作図例
ggplot(data = TestData, aes(x = X_Point_Data, y = Y_Point_Data)) +
# 円グラフをプロット:geom_pie_glyphコマンド
# データの分割:slicesオプション
# データを指定:valuesオプション
# 枠線の色を指定:colourオプション
# 円の大きさを指定:radiusオプション
geom_pie_glyph(slices = "Group", values = "Value_Data",
colour = "black", radius = 1.3) +
# 円グラフのラベルをプロット
geom_text(data = LabelData,
aes(x = X_Point_Data, y = Y_Point_Data,
label = Label, vjust = -5, size = 4),
show.legend = FALSE) +
# X軸範囲の設定
xlim(0.5, 4.5) +
# 軸ラベルの設定
labs(x = NULL, y = "属性") +
# 円グラフ塗色
scale_fill_manual(values = c("#4b61ba", "#ad8a80", "#fef0e7", "#5c463e")) +
# テーマを設定
theme_minimal(base_size = 17)
# インタラクティブな円グラフを作成する:geom_pie_interactiveコマンド
GetPie <- ggplot(data = TestData, aes(x = X_Point_Data, y = Y_Point_Data)) +
# 円グラフをプロット:geom_pie_interactiveコマンド
# データの分割:slicesオプション
# データを指定:valuesオプション
# 枠線の色を指定:colourオプション
# 円の大きさを指定:radiusオプション
geom_pie_interactive(slices = "Group", values = "Value_Data",
colour = "black", radius = 1.3) +
# 円グラフのラベルをプロット
geom_text(data = LabelData,
aes(x = X_Point_Data, y = Y_Point_Data,
label = Label, vjust = -5, size = 4),
show.legend = FALSE) +
# X軸範囲の設定
xlim(0.5, 4.5) +
# 軸ラベルの設定
labs(x = NULL, y = "属性") +
# 円グラフ塗色
scale_fill_manual(values = c("#4b61ba", "#ad8a80", "#fef0e7", "#5c463e")) +
# テーマを設定
theme_minimal(base_size = 17)
# ggiraphパッケージがなければインストール
if(!require("ggiraph", quietly = TRUE)){
install.packages("ggiraph");require("ggiraph")
}
# インタラクティブな円グラフを出力
# ggiraph::girafeコマンドにgeom_pie_interactiveコマンドで作成したオブジェクトを入れる
girafe(ggobj = GetPie)
実行例
少しでも、あなたの解析が楽になりますように!!