スパークラインでコンパクトに推移を表示

中級

6.4.8

スパークラインでコンパクトに推移を表示

最終更新 2020-05-06 読了時間 1 分
まとめ
  • 軸や目盛りを省いたミニ折れ線グラフ(スパークライン)を描画する。
  • ax.plotax.fill_between を組み合わせ、スパイン・目盛りを非表示にする。
  • ダッシュボードや表の中にトレンドをコンパクトに埋め込みたいときに使う。

スパークラインは目盛りや軸を取り除いた小さな折れ線グラフで、一覧表などに組み込むとトレンドを素早く確認できます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import numpy as np
import matplotlib.pyplot as plt

data = np.random.normal(loc=100, scale=8, size=24).cumsum()
fig, ax = plt.subplots(figsize=(3.5, 0.8))
ax.plot(data, color="#22c55e", linewidth=1.5)
ax.fill_between(range(len(data)), data, np.min(data), color="#bbf7d0", alpha=0.6)

ax.set_xticks([])
ax.set_yticks([])
for spine in ax.spines.values():
    spine.set_visible(False)

fig.tight_layout(pad=0.2)

plt.show()

スパークラインは目盛りや軸を取り除いた小さな折れ線グラフで、一覧表などに組み込むとトレンドを素早く確認できますの図

読み方のポイント #

  • 軸や目盛りを省く代わりに、直近値や最大値などを隣に数値で表示すると誤解が少ない。
  • 重要なポイントだけマーカーで強調するとメリハリが付く。
  • 大量のチャートを並べる際は配色を統一し、背景を白にして視認性を高める。

いつ使うか #

  • 適している場面: 表やダッシュボードの中にミニ折れ線を埋め込んでスペースを節約したいとき。
  • 不向きな場面: 軸や目盛りがないため、正確な値や絶対スケールを伝える目的には適しません。
  • 代替手段: 正確な値の比較が必要なら通常サイズの折れ線グラフを別途用意してください。

よくある失敗パターン #

  • スケールの非統一: 複数のスパークラインで Y 軸スケールが異なると、振れ幅の比較が不正確になります。比較目的なら同一スケールに揃えてください。
  • 極端な外れ値による潰れ: 1つの外れ値がスケールを広げ、他の変動が平坦に見えてしまいます。外れ値を除外するか Y 軸に上限を設けましょう。