ステップラインで区切りのある変化を表す

入門

6.4.5

ステップラインで区切りのある変化を表す

最終更新 2020-03-25 読了時間 1 分
まとめ
  • 階段状の折れ線(ステップチャート)で段階的な値の変化を表現する。
  • plt.stepwhere 引数で変化タイミングを制御する。
  • 料金改定やステータス変更など、離散的に値が切り替わるデータに使う。

価格改定のように段階的に値が変わる場合はステップチャートが便利です。plt.step を使うと階段状の線を描けます。

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

months = ["Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"]
price = [980, 980, 1100, 1100, 1250, 1250, 1350]

fig, ax = plt.subplots(figsize=(6, 4))
ax.step(months, price, where="post", color="#0ea5e9", linewidth=2.5)

ax.set_ylabel("料金(円)")
ax.set_title("プラン料金の改定推移")
ax.set_ylim(900, 1400)
ax.grid(alpha=0.3)

fig.tight_layout()

plt.show()

plt.step を使うと階段状の線を描けますの図

読み方のポイント #

  • where="post" で区間後半に値が変わる形式を表現できる。改定が前倒しなら "pre" を使う。
  • 価格など水平区間が多い場合は注釈で改定理由を添えると伝わりやすい。
  • 突然の変化を強調したいときは線の色を切り替える演出も有効。

いつ使うか #

  • 適している場面: 料金プランや状態変化など、値が段階的に変わるデータを正しく表現したいとき。
  • 不向きな場面: 連続的に変化するデータにステップラインを使うと不自然な階段状になり、トレンドが分かりにくくなります。
  • 代替手段: 連続的な変化には通常の折れ線グラフの方が自然な推移表現になります。

よくある失敗パターン #

  • ステップの方向(pre/post)の選択ミス: 値が「変化した時点から」有効なのか「次の変化まで」有効なのかで pre/post を使い分ける必要があります。データの意味に合った方向を選んでください。
  • 連続データへの誤用: 連続的に変化するデータにステップラインを適用すると不自然な階段状になり、トレンドが読み取りにくくなります。通常の折れ線に切り替えてください。