ไฮไลท์ช่วงเวลาที่อยากเน้น

Visualize

ไฮไลท์ช่วงเวลาที่อยากเน้น

Created: Last updated: Read time: 1 min

ผสมกราฟเส้นปกติกับ ax.axvspan เพื่อทาสีพื้นหลังเฉพาะช่วง จะช่วยเน้นสัปดาห์ที่มีแคมเปญใหญ่หรือช่วงพีคที่ต้องการให้คนสนใจ

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()

ระบายพื้นหลังด้วย axvspan เพื่อเน้นช่วงแคมเปญหรือเหตุการณ์สำคัญ

วิธีอ่านให้ได้สาระ #

  • ใช้สีอ่อนกว่าสีเส้นหลัก เพื่อไม่ให้ช่วงที่ระบายเด่นเกินและบดบังข้อมูล
  • หากมีหลายช่วง ให้แยกสีหรือใช้ลายเฉียงต่างกันเพื่อบอกความแตกต่าง
  • เพิ่มคำอธิบายสั้นๆ เช่นชื่ออีเวนต์หรือมาตรการไว้ใกล้ช่วงนั้น จะช่วยเป็นบันทึกสำหรับการวิเคราะห์ภายหลัง