「平均値だけ見せる」のは可視化の罪と言われます。同じ平均でも分布が全く違うことがある(アンスコムの例)。今回は分布を伝える5つの定番グラフを整理します。
| グラフ | matplotlib | Looker Studio | Excel | |
|---|---|---|---|---|
| ヒストグラム | ✅ | ✅ | ✅ | ✅ |
| 箱ひげ図 | ✅ | ❌ | ✅ | ✅(2016〜) |
| バイオリン | ✅ | ❌ | ⚠️ | ❌ |
| 密度プロット(KDE) | ✅ | ❌ | ⚠️ | ❌ |
| QQプロット | ✅ | ❌ | ⚠️ | ❌ |
1. ヒストグラム
用途:1次元データの分布を bin(区間)に分けて棒で表示。テストの点数分布、給与分布、サーバーの応答時間分布。 強み:分布の形(左右非対称・多峰性・偏り)が一目。 弱み:bin 幅で印象が大きく変わる。スタージェスの公式(k = 1 + log₂(n))など適切な bin 幅選びが大事。

2. 箱ひげ図(boxplot)
用途:複数グループの分布を同時比較。給料の業界別比較、A/Bテスト結果、 使用率の時間帯別。 箱=Q1〜Q3(中央50%)、中央線=中央値、ひげ=1.5×IQR(四分位範囲)の範囲、点=。 強み:外れ値が一目、複数群比較が楽。 弱み:分布の「形」(多峰性など)は分からない。

Q1(25%点)から Q3(75%点)の真ん中50%が「箱」。これが分かるとデータサイエンスの会議で「箱が広い」「箱が右に寄ってる」が即座に読めます。
3. バイオリンチャート
用途:箱ひげ + 密度プロットのハイブリッド。形が太い場所=データが集中。 強み:分布の形と要約統計を同時。多峰性も見える。 弱み:認知度が低い、Excel・ で作れない。

4. 密度プロット(KDE)
用途:ヒストグラムの bin 幅問題を回避するスムーズな分布表現。 強み:滑らかで美しい、複数分布の重ね合わせが楽。 弱み:bin の代わりに bandwidth で印象が変わる。

5. QQプロット(Quantile-Quantile)
用途:「データが正規分布に従うか」を可視的に検定。点が直線上に並べば正規分布。 強み:統計検定の前段階で必須。回帰分析の残差チェック。 弱み:読むのにやや慣れが必要、ビジネス現場での認知度は低い。

# pip install seabornimport seaborn as snsimport numpy as npimport matplotlib.pyplot as plt
np.random.seed(0)data = { "A": np.random.normal(50, 10, 200), "B": np.random.normal(60, 15, 200), "C": np.concatenate([np.random.normal(40, 5, 100), np.random.normal(70, 5, 100)]),}import pandas as pddf = pd.DataFrame({k: v for k, v in data.items()}).melt(var_name="group", value_name="value")
fig, axes = plt.subplots(2, 2, figsize=(12, 8))sns.histplot(data=df, x="value", hue="group", ax=axes[0,0]); axes[0,0].set_title("Histogram")sns.boxplot(data=df, x="group", y="value", ax=axes[0,1]); axes[0,1].set_title("Boxplot")sns.violinplot(data=df, x="group", y="value", ax=axes[1,0]); axes[1,0].set_title("Violin")sns.kdeplot(data=df, x="value", hue="group", ax=axes[1,1]); axes[1,1].set_title("KDE")plt.tight_layout(); plt.show()次回予告
EP.06 は地理系:コロプレス・バブルマップ・ヒートマップ・フローマップ。日本地図・世界地図にデータを乗せる定番手法と、商圏分析・配送最適化での実戦例。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。