กราฟพื้นที่แบบซ้อน

Visualize

กราฟพื้นที่แบบซ้อน

Created: Last updated: Read time: 1 min

เมื่อแสดงปริมาณทราฟฟิกตามช่วงเวลาโดยซ้อนผลของ PC สมาร์ตโฟน และแท็บเล็ต พื้นที่ของแต่ละชั้นจะเท่ากับจำนวนการเข้าถึง ทำให้มองเห็นส่วนแบ่งและพลวัตได้ในคราวเดียว

import numpy as np
import matplotlib.pyplot as plt

hours = np.array([0, 4, 8, 12, 16, 20, 24])
pc = np.array([120, 150, 180, 210, 240, 220, 180])
mobile = np.array([200, 220, 240, 260, 280, 300, 260])
tablet = np.array([80, 90, 120, 150, 180, 170, 140])

fig, ax = plt.subplots(figsize=(6, 4))
ax.stackplot(
    hours,
    tablet,
    mobile,
    pc,
    labels=["แท็บเล็ต", "สมาร์ตโฟน", "พีซี"],
    colors=["#bfdbfe", "#93c5fd", "#3b82f6"],
    alpha=0.85,
)
ax.set_xlim(0, 24)
ax.set_xticks(hours)
ax.set_ylabel("จำนวน PV")
ax.set_xlabel("ช่วงเวลา (ชั่วโมง)")
ax.set_title("ทราฟฟิกตามช่วงเวลาและอุปกรณ์")
ax.legend(loc="upper left", frameon=False)
ax.grid(axis="y", alpha=0.3)

fig.tight_layout()

plt.show()

พื้นที่ของแต่ละอุปกรณ์แปรผันตามจำนวนการเข้าถึง จึงเทียบส่วนแบ่งได้ทันที

เคล็ดลับในการอ่าน #

  • ดูว่าช่วงเวลาใดมีพื้นที่รวมมากที่สุดเพื่อระบุจุดพีกของการใช้งาน พร้อมสังเกตว่าส่วนแบ่งเปลี่ยนไปอย่างไร
  • หากต้องการให้ทุกช่วงรวมกันเป็น 100% ให้หารแต่ละซีรีส์ด้วยผลรวม จะเห็นอัตราส่วนเปลี่ยนแปลงชัดขึ้น
  • อยากเน้นหมวดใดให้ปรับโทนสีหรือจัดลำดับชั้นให้หมวดนั้นอยู่บนสุดเพื่อไม่ให้ถูกบัง