【Python】seabornで棒グラフ、箱ひげ図、バイオリン図を描画

  • URLをコピーしました!

今回はseabornで以下グラフを描画する方法を紹介します。

  • barplot: 棒グラフ
  • boxplot: 箱ひげ図
  • violinplot: バイオリン図

バイオリン図は聞き馴染みないと思います。

分布の形状を把握するのに便利なので、以降で説明していきます。

目次

使用するデータ

今回は、tipsのデータセットを使用します。

tipsは、機械学習や統計学の分野でサンプルデータとして使用されるレストランのお会計に関するデータセットです。

barplot: 棒グラフ

seabornで棒グラフを描画するには、barplotを使用します。

棒グラフは、カテゴリー別にデータの平均と信頼区間を表示します。

カテゴリー間の比較するときに有用です。

barplotの基本的な使用方法は以下の通りです。

# seabornをインポート
import seaborn as sns

# データセットをロード
tips = sns.load_dataset("tips")

# barplotを描画
sns.barplot(x='day', y='total_bill', data=tips)

まずはpairplotを使用するために、seabornをインポートします。

seabornについて詳しく知りたい方はこちら

続いて、pairplotで可視化したいデータセットをロードします。

tipsのデータセットを使用します。

データセットのあとは、実際にbarplotを作成します。

xにはカテゴリカルなデータday(曜日)、

yにはxで指定したカテゴリカルなデータごとに求めたいデータtotal_bill(合計金額)を指定します。

dataには分析対象のデータフレームを指定してします。

説明が長くなりましたが、実行結果は以下です。

曜日ごとの平均値を描画しました。

休日のSatSunが平均して合計金額が高いことがわかります。

barplotをカスタマイズ

barplotは、デフォルトではデータの平均を描画します。

データの中央値(median)や合計(sum)などの統計量を描画することも可能です。

データの統計量を変更するには、estimatorパラメータを使用します。

サンプルコードは以下の通りです。

import numpy as np

sns.barplot(x='day', y='total_bill', data=tips, estimator=np.sum)

実行結果

boxplot: 箱ひげ図

seabornで箱ひげ図を描画するには、boxplotを使用します。

箱ひげ図は、データの中央値、四分位数、外れ値、最大値、最小値を表示します。

データの分布を把握するときに有用です。

boxplotの使用方法は以下の通りです。

# seabornをインポート
import seaborn as sns

# データセットをロード
tips = sns.load_dataset("tips")

# boxplotを描画
sns.boxplot(x='day', y='total_bill', data=tips)

使い方は、barplotと基本的に同じです。

実行結果は以下です。

boxplotをカスタマイズ

hueパラメータでカテゴリ内を詳しく区分けすることができます。

喫煙者、非喫煙者で区分けしてみます。

sns.boxplot(x='day', y='total_bill', data=tips, hue='smoker')

実行結果

violinplot: バイオリン図

バイオリン図とは、箱ひげ図とカーネル密度推定を組み合わせた図です。

図の幅により、データの分布を可視化しています。

seabornでバイオリン図を描画するには、violinplotを使用します。

使い方は以下の通りです。

# seabornをインポート
import seaborn as sns

# データセットをロード
tips = sns.load_dataset("tips")

# boxplotを描画
sns.violinplot(x='day', y='total_bill', data=tips)

使い方はbarplotboxplot同じです。

実行結果は以下です。

violinplotをカスタマイズ

innerパラメータでバイオリン図内部の表示方法を変更することができます。

sns.violinplot(x='day', y='total_bill', data=tips, inner='box')

実行結果

まとめ

今回はseabornで以下グラフを描画する方法を紹介しました。

  • barplot: 棒グラフ
  • boxplot: 箱ひげ図
  • violinplot: バイオリン図

どれもデータを可視化するのに便利なツールです。

ぜひマスターしてみてください!

ここまで読んでくださりありがとうございます。

参考

おすすめ教材

米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座 icon 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜 icon

他のUdemyの講座が気になる方はこちら

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

エンジニア。20代。組み込みエンジニアとして働き始めるも、働き方や業務内容に限界を感じ、 AI,Web3エンジニアを目指して勉強中。 エンジニアとして思うことや、学んだことを発信します。

目次