Matplotlib trung cấp

Cột chồng và biểu đồ vùng

Thể hiện các phần cộng lại theo thời gian bằng cột chồng (bottom=) và ax.stackplot.

Giới thiệu

Khi nhiều chuỗi số cộng lại thành một tổng, hãy xếp chồng chúng. Mỗi cột bắt đầu tại nơi cột trước kết thúc, nên chiều cao cả cột là tổng còn mỗi phần màu là một chuỗi. ax.stackplot làm điều tương tự với các vùng tô màu.

bottom= cho mỗi lệnh ax.bar biết cột bắt đầu từ đâu: mobile nằm trên desktop, tablet nằm trên cả hai. Dùng mảng NumPy giúp desktop + mobile cộng từng năm với nhau. Chiều cao mỗi cột là tổng lượt truy cập năm đó, còn chú giải phân biệt các phần.

Trình mô phỏng tương tác

So sánh cột chồng, cột nhóm và biểu đồ vùng, rồi chuyển sang phần trăm để xem tỷ lệ của từng thiết bị.

Ví dụ Matplotlib chạy được

Matplotlib
Chạy code →
main.py
import matplotlib.pyplot as plt
import numpy as np

years = ["2022", "2023", "2024", "2025"]
desktop = np.array([50, 48, 45, 40])
mobile = np.array([30, 45, 60, 80])
tablet = np.array([10, 12, 11, 9])

fig, ax = plt.subplots(figsize=(7, 4))
ax.bar(years, desktop, label="Desktop")
ax.bar(years, mobile, bottom=desktop, label="Mobile")
ax.bar(years, tablet, bottom=desktop + mobile, label="Tablet")
ax.set_ylabel("Visits (thousands)")
ax.set_title("Visits by device")
ax.legend()
plt.show()
Lấy nút Run cho ví dụ này Biểu đồ mà đoạn code này vẽ ra
Cột chồng và biểu đồ vùng