今回は、seabornでヒストグラムを作成する方法を紹介します。
ヒストグラムの描画
seabornを使用すれば、ヒストグラムを簡単に作成できます。
今回は、ヒストグラムを作成する方法を2つ紹介します。
- histplot
- distplot
詳細はseaborn公式ページ参照
今回はtips
のデータセットを使用します。
tips
にはレストランの食事に関する情報が含まれています。
histplotの使い方
histplot
はヒストグラムを描画するための関数です。
以下のように使用します。
sns.histplot(data, bins=20, kde=True)
data
: 分析したいデータ
bins
: データを分割する区間の数
kde
: カーネル密度推定の有効・無効
サンプルコードは以下の通りです。
import seaborn as sns
import matplotlib.pyplot as plt
# データの読み込み
data = sns.load_dataset('tips')
# histplotを使用してヒストグラムを描画
sns.histplot(data['total_bill'], bins=20, kde=True)
# グラフの表示
sns.set()
plt.show()
実行結果
データを分割する区間数(階級幅)を変更
bins
を変更して、データを分割する区間の数を変更します。
bins
を変更したものを2つ並べて表示してみます。
import seaborn as sns
import matplotlib.pyplot as plt
# データの読み込み
data = sns.load_dataset('tips')
# グラフのサイズを設定
plt.figure(figsize=(12, 6))
# bins 10のグラフ
plt.subplot(1, 2, 1)
sns.histplot(data['total_bill'], bins=10, kde=True)
plt.title('Bins: 10')
# bins 30のグラフ
plt.subplot(1, 2, 2)
sns.histplot(data['total_bill'], bins=30, kde=True)
plt.title('Bins: 30')
# グラフの表示
plt.show()
実行結果
bins
の値をデータを分割する区間が増えたことがわかります。
カーネル密度推定(KDE)を表示
kde
パラメータで、カーネル密度推定の表示/非表示の設定ができます。
カーネル密度推定を表示/非表示した場合のグラフを並べて表示してみます。
import seaborn as sns
import matplotlib.pyplot as plt
# データの読み込み
data = sns.load_dataset('tips')
# グラフのサイズを設定
plt.figure(figsize=(12, 6))
# KDE 表示
plt.subplot(1, 2, 1)
sns.histplot(data['total_bill'], bins=20, kde=True)
plt.title('kde: True')
# KDE非表示
plt.subplot(1, 2, 2)
sns.histplot(data['total_bill'], bins=20, kde=False)
plt.title('kde: False')
# グラフの表示
plt.show()
実行結果
distplotの使い方
distplot
を使用してヒストグラムを作成することもできます。
ただし、distplot
将来なくなる可能性があるので、注意してください。
distplot
は以下のように使用します。
sns.distplot(data, bins=20, kde=True)
それぞれのパラメータはhistplot
と同じです。
サンプルコードは以下の通りです。
import seaborn as sns
import matplotlib.pyplot as plt
# データの読み込み
data = sns.load_dataset('tips')
# distplotを使用してデータの分布を可視化
sns.distplot(data['total_bill'], kde=True, bins=20, rug=True)
# グラフの表示
sns.set()
plt.show()
実行結果
まとめ
今回は、seabornでヒストグラムを作成する方法を2つ紹介しました。
distplotは、seabornの公式から非推奨ですので、
histplotを使用することをおすすめします。
ここまで読んでくださりありがとうございます。
参考
おすすめ教材
米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜他のUdemyの講座が気になる方はこちら