Ggplot2 でグループごとにヒストグラムを作成する方法 (例付き)
次の基本構文を使用して、ggplot2 でグループごとのヒストグラムを作成できます。
ggplot(df, aes(x=values_var, fill=group_var)) + geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') + scale_fill_manual(values=c(' red ', ' blue ', ' purple '))
この特定の例では、赤、青、紫の 3 つの重なり合うヒストグラムを含むプロットを作成します。
次の例は、この構文を実際に使用する方法を示しています。
例: ggplot2 でグループごとにヒストグラムを作成する
R に、3 つの異なるチームのバスケットボール選手が獲得したポイントに関する情報を含む次のデータ フレームがあるとします。
#make this example reproducible
set. seeds (1)
#create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each=100),
points=c(rnorm(100, mean=10),
rnorm(100, mean=15),
rnorm(100, mean=20)))
#view head of data frame
head(df)
team points
1 A 9.373546
2 A 10.183643
3 A 9.164371
4 A 11.595281
5 A 10.329508
6 A 9.179532
次のコードを使用して、3 つのチームのそれぞれが獲得したポイントの分布を表示するヒストグラムを作成できます。
library (ggplot2)
#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
scale_fill_manual(values=c(' red ', ' blue ', ' purple '))
3 つのヒストグラムは、各チームのプレーヤーが獲得したポイントの分布を表します。
プロットの右側の凡例は、どの色が各チームに対応するかを示します。
color引数は各ヒストグラム内のバーの輪郭の色を指定し、 alpha引数はバーに使用する透明度 (0 から 1 の間) を指定することに注意してください。
アルファ値を 1 未満に設定すると、ヒストグラム間の重なり合うバーが表示されます。
自由にlabs()関数を使用してプロット内のラベルを変更し、スタイルに合ったggplot2 テーマを選択してください。
library (ggplot2)
#create histogram by team
ggplot(df, aes(x=points, fill=team)) +
geom_histogram(color=' black ', alpha= 0.4 , position=' identity ') +
scale_fill_manual(values=c(' red ', ' blue ', ' purple ')) +
labs(fill=' Team ', x=' Points Scored ', y=' Count ', title=' Points Scored by Team ') +
theme_classic()
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。
R で相対頻度ヒストグラムを作成する方法
R で 1 つのグラフに複数の箱ひげ図をプロットする方法
R でグラフに複数の線をプロットする方法