積み上げ棒グラフで構成比を示す

6.3.4

積み上げ棒グラフで構成比を示す

最終更新 2020-03-11 読了時間 1 分
まとめ
  • 複数系列を1本の棒に積み上げて全体量と内訳を同時に示す。
  • ax.barbottom引数で系列を累積的に積み上げる。
  • 合計値の推移と構成比の変化を一度に把握したいときに使う。

月別総売上をチャネル別に積み上げると、全体量と構成比を同時に見ることができます。

import numpy as np
import matplotlib.pyplot as plt

months = ["Apr", "May", "Jun", "Jul"]
online = np.array([150, 180, 190, 210])
store = np.array([100, 120, 130, 150])
wholesale = np.array([60, 70, 80, 85])

fig, ax = plt.subplots(figsize=(6, 4))
ax.bar(months, online, label="オンライン", color="#60a5fa")
ax.bar(months, store, bottom=online, label="店舗", color="#fbbf24")
ax.bar(months, wholesale, bottom=online + store, label="卸", color="#34d399")

ax.set_ylabel("売上(百万円)")
ax.set_title("販路別売上の構成比")
ax.legend(loc="upper left")
ax.grid(axis="y", alpha=0.2)

fig.tight_layout()

plt.show()

月別総売上をチャネル別に積み上げると、全体量と構成比を同時に見ることができますの図

読み方のポイント #

  • パーセント表示にしたい場合は、各系列を合計で割った 100% スタックにすると良い。
  • 月ごとの合計値に注目してもらいたい場合は、合計線を上に重ねるのも一案。
  • 下から順に主要チャネルを並べると凡例との対応が分かりやすい。