กราฟแท่งซ้อนช่วยให้เห็นทั้งยอดรวมรายเดือนและส่วนแบ่งของแต่ละช่องทางจำหน่ายในกราฟเดียว
import numpy as np
import matplotlib.pyplot as plt
months = ["Apr", "May", "Jun", "Jul"]
online = np.array([150, 180, 190, 210])
store = np.array([100, 120, 130, 150])
wholesale = np.array([60, 70, 80, 85])
fig, ax = plt.subplots(figsize=(6, 4))
ax.bar(months, online, label="ออนไลน์", color="#60a5fa")
ax.bar(months, store, bottom=online, label="หน้าร้าน", color="#fbbf24")
ax.bar(months, wholesale, bottom=online + store, label="ขายส่ง", color="#34d399")
ax.set_ylabel("ยอดขาย (ล้านเยน)")
ax.set_title("สัดส่วนยอดขายตามช่องทาง")
ax.legend(loc="upper left")
ax.grid(axis="y", alpha=0.2)
fig.tight_layout()
plt.show()

เคล็ดลับ #
- หากอยากเทียบเป็นเปอร์เซ็นต์ ให้แปลงซีรีส์แต่ละตัวให้รวมกันเป็น 100% (stacked 100%)
- ถ้าต้องการเน้นเส้นยอดรวม ลองเพิ่มเส้นรวม (line) ทับไว้ด้านบน
- เรียงซีรีส์จากส่วนที่สำคัญที่สุดไว้ด้านล่าง เพื่อให้ง่ายต่อการเทียบหลายเดือน