Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Vẽ stacked bar chart (biểu đồ cột chồng) với Matplotlib trong Python

Stacked bar chart hiển thị tổng và cấu thành phần của từng danh mục bằng cách chồng các đoạn lên nhau.

Cài đặt

pip install matplotlib

Ví dụ: 4 nhóm giá trị chồng lên nhau


import matplotlib.pyplot as plt

labels = ['A1', 'A2', 'A3', 'A4']
val_1 = [34, 56, 78, 91]
val_2 = [20, 56, 32, 89]
val_3 = [1, 3, 5, 3]   # error bar cho val_1
val_4 = [3, 5, 3, 4]   # error bar cho val_2
width = 0.40

fig, ax = plt.subplots()
ax.bar(labels, val_1, width, yerr=val_3, label='Label_1')
ax.bar(labels, val_2, width, yerr=val_4, bottom=val_1, label='Label_2')
ax.set_ylabel('Y-axis')
ax.set_title('Stacked Bar Chart')
ax.legend()
plt.show()

Kết quả

Vẽ stacked bar chart (biểu đồ cột chồng) với Matplotlib trong Python

Giải thích

  • Lần 1: ax.bar vẽ val_1 từ đáy 0.
  • Lần 2: ax.bar vẽ val_2 với bottom=val_1 → chồng lên val_1.
  • yerr thêm error bar (thanh độ lệch).
  • legend() hiển thị chú thích.

Mở rộng: Dùng bottom=np.cumsum([val_1, val_2, ...], axis=0) cho nhiều lớp hơn.