บัมพ์ชาร์ตนี้เชื่อมอันดับยอดขายรายไตรมาสด้วยเส้น จุดสำคัญคือกลับแกนเพื่อให้ลำดับสูงอยู่ด้านบน
import numpy as np
import matplotlib.pyplot as plt
quarters = ["Q1", "Q2", "Q3", "Q4"]
brands = ["Alpha", "Bravo", "Charlie", "Delta", "Echo"]
ranks = np.array(
[
[1, 2, 3, 3],
[3, 1, 1, 2],
[2, 3, 2, 1],
[4, 4, 5, 4],
[5, 5, 4, 5],
]
)
fig, ax = plt.subplots(figsize=(7, 4))
for brand, rank in zip(brands, ranks):
ax.plot(quarters, rank, marker="o", linewidth=2, label=brand)
ax.set_ylim(5.5, 0.5)
ax.set_ylabel("อันดับ")
ax.set_title("อันดับยอดขายตามแบรนด์")
ax.grid(axis="y", alpha=0.2)
ax.legend(loc="upper right", bbox_to_anchor=(1.15, 1))
fig.tight_layout()
plt.show()

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