横向き棒グラフでランキング表示

入門

6.3.2

横向き棒グラフでランキング表示

最終更新 2020-02-12 読了時間 1 分
まとめ
  • ラベルが長い項目を横向きの棒で見やすく比較する。
  • ax.barhax.bar_labelで横棒グラフと値ラベルを描画する。
  • ランキングやアンケート結果など項目名が長い場合に最適。

アンケート結果のようにラベルが長いときは横向きの棒グラフが適しています。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import matplotlib.pyplot as plt

features = [
    "検索のしやすさ",
    "ページ速度",
    "モバイル対応",
    "デザイン",
    "問い合わせ対応",
]
score = [4.6, 4.2, 4.8, 4.1, 4.5]

fig, ax = plt.subplots(figsize=(6, 4.5))
bars = ax.barh(features, score, color="#0ea5e9")

ax.invert_yaxis()
ax.set_xlabel("満足度 (5 点満点)")
ax.set_title("サイト改善アンケート 結果")
ax.set_xlim(0, 5)
ax.bar_label(bars, fmt="%.1f", padding=6)
ax.grid(axis="x", alpha=0.2)

fig.tight_layout()

plt.show()

アンケート結果のようにラベルが長いときは横向きの棒グラフが適していますの図

読み方のポイント #

  • 項目数が多いときは横棒が視線移動しやすい。
  • 値を降順に並べるとランキングが明確になる。
  • 棒の色を統一し、強調が必要な場合のみ別色を使う。

いつ使うか #

  • 適している場面: ラベルが長いカテゴリのランキングを表示したいとき。横向きならラベルが読みやすくなります。
  • 不向きな場面: 時系列データには適さないため、時間軸がある場合は折れ線グラフを使ってください。
  • 代替手段: 値の差分を強調したいならダンベルチャートの方が変化量を際立たせられます。

よくある失敗パターン #

  • ソートされていないランキング: 値の順序で並べないとランキングとしての意味が薄れ、読者が比較しにくくなります。降順にソートしてください。
  • 棒の間隔が不均一: カテゴリ間の間隔がバラバラだと視覚的にグルーピングがあるように誤解されます。等間隔に揃えましょう。