広告 Rでグラフ

Rのグラフに網掛け領域を付ける方法

2023年10月26日

データ視覚化の世界では、グラフの見た目が重要です。
今回の記事では、Rとggplot2を使って、動きや変化を示す網掛け領域付きのグラフを作成する方法を紹介します。

網掛け領域付きのグラフの作成

ggplot2を使用して網掛け領域付きのグラフを作成するには、geom_area() 関数または geom_ribbon() 関数を使用します。

ステップ1: ggplot2のインストールと読み込み

まず、ggplot2パッケージがインストールされていない場合は、インストールします。次に、ライブラリを読み込みます。

install.packages("ggplot2")
library(ggplot2)

ステップ2: データの準備

網掛け領域付きのグラフをプロットするために、サイン波形のデータを使用してみましょう。

# サンプルデータの作成
time <- seq(0, 10, by = 0.1)
value <- sin(time)
data <- data.frame(time, value)

このコードは、時間に対するサイン波形の値を生成し、それをデータフレームに格納します。

ステップ3: 網掛け領域付きのグラフのプロット

次に、ggplot() 関数と geom_area() を使用して網掛け領域付きのグラフをプロットします。

ggplot(data, aes(x = time, y = value)) + 
geom_area(fill = "blue", alpha = 0.5) + # 網掛け領域
ggtitle("Sine Wave Over Time") +
xlab("Time") +
ylab("Value")

このコードは、timevalue の値に基づいて網掛け領域付きのグラフを作成します。fill 引数で領域の色を指定し、alpha 引数で透明度を調整します。

ここまでのスクリプトを実行すると次のようなグラフが得られます。

ステップ4: グラフのカスタマイズ

ggplot2では、色の変更、軸のラベル、タイトルなど、グラフの様々な要素をカスタマイズすることができます。

ggplot(data, aes(x = time, y = value)) + 
geom_area(fill = "blue", alpha = 0.5) +
ggtitle("Sine Wave Over Time") +
xlab("Time") +
ylab("Value") +
theme_minimal() # シンプルなテーマを適用

このコードは、折れ線グラフにシンプルなテーマを適用し、見た目を洗練させます。

ここまでのスクリプトを実行すると次のようなグラフが得られます。

その他の設定

輪郭線の設定

colourで輪郭線を設定できます。

library(ggplot2)

# サンプルデータの作成
time <- seq(0, 10, by = 0.1)
value <- sin(time)
data <- data.frame(time, value)

ggplot(data, aes(x = time, y = value)) +
geom_area(fill = "blue", alpha = 0.5, colour="black", size=1) +
ggtitle("Sine Wave Over Time") +
xlab("Time") +
ylab("Value") +
theme_minimal() # シンプルなテーマを適用

輪郭線の太さはsize=〇で設定します。
スクリプトの実行結果は次のようになります。

まとめ

Rとggplot2を使用して網掛け領域付きのグラフを作成する方法は、非常にシンプルで直感的です。この基本をマスターすれば、より複雑なデータセットに対しても同様の手法を適用することができます。

-Rでグラフ
-