Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để tạo biểu đồ thanh xếp chồng phân kỳ trong Matplotlib?


Để tạo biểu đồ thanh xếp chồng phân kỳ trong Matplotlib, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô phụ.
  • Khởi tạo một biến N để nhận số lượng chỉ số.
  • Nhận menMeans, womenMeans, menStd bộ tuple womenStd.
  • Khởi tạo chiều rộng trong số các thanh.
  • Tạo một hình và một tập hợp các ô phụ.
  • Để có được thanh phân kỳ, chúng tôi có thể đặt dữ liệu với các giá trị âm và dương để tạo thanh phân kỳ.
  • Thêm một đường ngang qua trục.
  • Đặt Ylabel, title, tick, ticklabels, huyền thoại.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

N = 5
menMeans = (20, -35, 30, 35, -27)
womenMeans = (25, -32, 34, 20, -25)
menStd = (2, 3, 4, 1, 2)
womenStd = (3, 5, 2, 3, 3)

ind = np.arange(N)
width = 0.35
fig, ax = plt.subplots()

p1 = ax.bar(ind, menMeans, width, yerr=menStd, label='Men')
p2 = ax.bar(ind, womenMeans, width, bottom=menMeans, yerr=womenStd, label='Women')
ax.axhline(0, color='grey', linewidth=0.8)
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.set_xticks(ind)
ax.set_xticklabels(('G1', 'G2', 'G3', 'G4', 'G5'))
ax.legend()

plt.show()

Đầu ra

Làm thế nào để tạo biểu đồ thanh xếp chồng phân kỳ trong Matplotlib?