หากสนใจเฉพาะวันที่เกิดเหตุการณ์ ไทม์ไลน์แบบบาร์โค้ดช่วยให้เห็นความหนาแน่นด้วยเส้นแนวตั้ง มองออกทันทีว่ามีช่วงกระจุกหรือกระจาย
import pandas as pd
import matplotlib.pyplot as plt
dates = pd.to_datetime(
[
"2024-01-05",
"2024-01-08",
"2024-01-12",
"2024-01-20",
"2024-02-02",
"2024-02-07",
"2024-02-08",
"2024-02-17",
"2024-03-01",
"2024-03-09",
"2024-03-10",
"2024-03-24",
"2024-04-02",
"2024-04-18",
"2024-05-01",
]
)
fig, ax = plt.subplots(figsize=(6.4, 1.8))
ax.vlines(dates, ymin=0, ymax=1, color="#0f172a", linewidth=2)
ax.set_ylim(0, 1)
ax.set_yticks([])
ax.set_title("ไทม์ไลน์บาร์โค้ดของวันแจ้งเตือนสำคัญ")
ax.set_xlabel("วันที่")
ax.set_xlim(dates.min() - pd.Timedelta(days=3), dates.max() + pd.Timedelta(days=3))
ax.tick_params(axis="x", rotation=45)
ax.spines[["left", "top", "right"]].set_visible(False)
fig.tight_layout()
plt.show()

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