高度なボックスプロットの描画
以下のボックスプロットは視覚的に美しく、データ量が多くなく、分布が明確な場合に特に適しています。
論文作成において、図表の明快さと魅力的な表示方法は非常に重要です。ボックスプロット(箱ひげ図)はデータの分布を示す古典的なツールであり、データの中心傾向、散らばり、および外れ値を明確に示すだけでなく、これらの情報を視覚的に魅力的な方法で提示できます。
特にSCI論文を執筆する際、図表を通じて研究結果を明確に伝えることは、専門家が研究の核心的な発見を迅速に理解する助けとなり、論文の魅力を高め、被引用数を増やすことにも繋がります。多くのデータ可視化手法の中で、ボックスプロットはその簡潔性と情報量の多さから広く人気を集めています。
しかし、伝統的なボックスプロットはしばしば単調で、研究の重要性を際立たせるには不十分です。このため、本稿ではR言語の`ghibli`と`ggdist`パッケージを組み合わせることで、より魅力的で表現力豊かなボックスプロットを作成する方法を探ります。これにより、皆様のSCI論文をより一層素晴らしいものにすることができます。
データの準備
まず、分析に使用するデータを準備します。
library(tidyverse)
df <- read.csv("Rotarod.csv")
df$Day <- factor(df$Day, levels = c("1", "2"))
df$Genotype <- factor(df$Genotype, levels = c("WT", "KO"))
head(df)
コード例
今回は`ggplot2`を用いて図を描画します。まず、`ghibli`と`ggdist`パッケージをインストールする必要があります。これらのパッケージは高度な描画機能を提供しており、興味のある方は各自で探索してみてください。
以下に描画コードを示します。
# 必要なライブラリを読み込む
library(ghibli)
library(ggdist)
# Rorarodパフォーマンスの強化されたプロット
plot_1 <- ggplot(df, aes(x = Day, y = performance_score, fill = Genotype)) +
# より魅力的な外観のためのGhibliテーマのカラースキームを適用
scale_fill_ghibli_d("SpiritedMedium", direction = -1, guide = guide_legend(title = "遺伝子型")) +
# リファインされたエステティックを持つボックスプロット
geom_boxplot(width = 0.2, outlier.color = "red", alpha = 0.7) +
# 明確さとインパクトを高めるための軸ラベルとタイトルの強化
labs(
x = '日',
y = '時間 (秒)',
title = "異なる遺伝子型におけるRorarodパフォーマンス",
subtitle = "ボックスプロットとハーフアイプロットの可視化"
) +
# 精巧な外観のためのクラシックテーマとセリフフォントの使用
theme_classic(base_size = 16, base_family = "serif") +
# 読みやすさと美しさを向上させるためのテーマの微調整
theme(
plot.title = element_text(hjust = 0.5, size = 20),
plot.subtitle = element_text(hjust = 0.5, size = 14),
legend.position = "bottom",
legend.box = "horizontal",
legend.title = element_text(face = "bold"),
axis.text.x = element_text(angle = 45, hjust = 1),
axis.text.y = element_text(face = "italic")
) +
# より良いデータ表現のためのy軸スケールの調整
scale_y_continuous(
breaks = seq(0, 100, by = 20),
limits = c(0, 100)
) +
# 明確さのためのドットプロットの調整
stat_dots(
side = "left",
justification = 1.15,
binwidth = 2,
color = "darkblue",
alpha = 0.5
) +
# リファインされたエステティックを持つハーフアイプロット
stat_halfeye(
adjust = .5,
width = .8,
justification = -.25,
.width = 0.25,
fill = NA,
color = "darkgreen",
alpha = 0.5
)
# 強化されたプロットを表示
plot_1
コードを少し修正することで、別のスタイルの図も描画できます。
# 必要なライブラリを読み込む
library(ghibli)
library(ggdist)
# Rorarodパフォーマンスのプロット作成
plot_2 <- ggplot(df, aes(x = Day, y = performance_score, fill = Genotype)) +
# カスタム方向でGhibliテーマを使用して塗りつぶし色を設定
scale_fill_ghibli_d("SpiritedMedium", direction = -1) +
# カスタムの幅と外れ値の色を持つボックスプロットを追加
geom_boxplot(width = 0.1, outlier.color = "red") +
# 軸ラベルのカスタマイズ
xlab('日') +
ylab('時間 (s)') +
# プロットのタイトルを設定し、カスタムの基本サイズとフォントファミリーでクラシックテーマを適用
ggtitle("Rorarodパフォーマンス") +
theme_classic(base_size = 18, base_family = "serif") +
# テキスト、軸テキスト、タイトル、サブタイトル、および凡例の位置のカスタマイズ
theme(
text = element_text(size = 18),
axis.text.x = element_text(angle = 0, hjust = .1, vjust = 0.5, color = "black"),
axis.text.y = element_text(color = "black"),
plot.title = element_text(hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5),
legend.position = "bottom"
) +
# y軸スケールのカスタマイズ
scale_y_continuous(
breaks = seq(0, 100, by = 20),
limits = c(0, 100)
) +
# ggdistパッケージのドットプロットを追加
stat_dots(
side = "left",
justification = 1.12,
binwidth = 1.9
) +
# ggdistパッケージのハーフバイオリンを追加
stat_halfeye(
adjust = .5,
width = .6,
justification = -.2,
.width = 0,
point_colour = NA
)
# プロットを表示
plot_2
コードの原理解説
このRコードは、`ggplot2`、`ghibli`、および`ggdist`パッケージを利用して、ボックスプロット、ドットプロット、および半眼プロットを含む複合グラフを描画します。各モジュールと関数は描画において特定の役割を担い、Rorarodのパフォーマンスデータを提示するために協調して機能します。以下に各部分の簡単な解説を示します。
1. 基本グラフの設定
ggplot(df, aes(x = Day, y = performance_score, fill = Genotype)): `ggplot`関数を使用して、グラフのデータソースと基本マッピングを設定します。ここでは、x軸が`Day`、y軸が`performance_score`、そして色の塗りつぶし(`fill`)が`Genotype`に基づいています。
2. カラースキーム
scale_fill_ghibli_d("SpiritedMedium", direction = -1): `ghibli`パッケージの"SpiritedMedium"テーマを色の塗りつぶしに適用し、`direction = -1`を設定することで色のグラデーション順序を反転させます。
3. ボックスプロット
geom_boxplot(width = 0.1, outlier.color = "red"): ボックスプロットのレイヤーを追加します。`width`は箱の幅を制御し、`outlier.color`は外れ値の色を設定します。
4. 軸ラベルと図のタイトル
xlab('日') + ylab('時間 (s)') + ggtitle("Rorarodパフォーマンス"): x軸とy軸のラベル、およびグラフのタイトルをそれぞれ設定します。
5. テーマとスタイルの調整
theme_classic(base_size = 18, base_family = "serif"): クラシックテーマを適用し、基本のフォントサイズとフォントファミリーを設定します。
theme(...): テキスト、軸テキスト、タイトル、サブタイトル、および凡例の位置などの要素のスタイルをさらにカスタマイズします。
6. y軸のスケール調整
scale_y_continuous(breaks = seq(0, 100, by = 20), limits = c(0, 100)): y軸の目盛りの間隔と範囲を設定します。
7. ドットプロットと密度プロット
stat_dots(...): `ggdist`パッケージを使用してドットプロットのレイヤーを追加し、データポイントの分布を示します。これには、点の位置の調整と幅の設定が含まれます。
stat_halfeye(...): 密度レイヤーを追加します。これはデータの分布密度を示すグラフであり、幅、調整係数、および色の設定を通じてカスタマイズできます。