注目期間をハイライトする

中級

6.4.6

注目期間をハイライトする

最終更新 2020-04-08 読了時間 1 分
まとめ
  • 折れ線グラフの特定期間を背景色でハイライトし注目区間を強調する。
  • ax.axvspan で任意の期間に半透明の帯を描画する。
  • キャンペーンや繁忙期など、イベント前後の変化を強調したいときに使う。

通常の折れ線に ax.axvspan を組み合わせると、特定期間を背景色で強調できます。大型キャンペーン期間などに便利です。

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

dates = pd.date_range("2024-04-01", periods=30, freq="D")
sessions = np.random.poisson(lam=500, size=len(dates)) + np.linspace(0, 80, len(dates))

fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(dates, sessions, color="#6366f1", linewidth=2)

campaign_start = pd.Timestamp("2024-04-10")
campaign_end = pd.Timestamp("2024-04-18")
ax.axvspan(campaign_start, campaign_end, color="#fbbf24", alpha=0.2, label="キャンペーン")

ax.set_ylabel("セッション数")
ax.set_title("日次セッションとキャンペーン期間")
ax.legend(loc="upper left")
ax.grid(alpha=0.3)

fig.tight_layout()

plt.show()

大型キャンペーン期間などに便利ですの図

読み方のポイント #

  • 背景色は淡い色にし、折れ線よりも目立ち過ぎないようにする。
  • 期間を複数指定する場合は色分けやストライプなどで区別する。
  • 注釈を加えてイベント名や施策名を記録しておくと分析メモになる。

いつ使うか #

  • 適している場面: 特定の期間(イベント期間やキャンペーン期間など)を視覚的に強調したいとき。
  • 不向きな場面: ハイライト区間が多すぎると逆に注目すべき箇所が曖昧になり、効果が薄れます。
  • 代替手段: イベント前後の差を定量的に比較したい場合はダイバージングバーの方が数値差が明確です。

よくある失敗パターン #

  • ハイライト区間が多すぎる: 注目期間を何箇所もハイライトするとどこが重要か分からなくなります。本当に重要な1〜2区間に絞りましょう。
  • ハイライトの色が線と紛らわしい: 折れ線と同色でハイライトすると区間の境界が見えません。薄い背景色など控えめな色にしてください。