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

Làm thế nào để tạo một biểu đồ với các thùng có diện tích bằng nhau trong Matplotlib?

Để tạo biểu đồ với các thùng có diện tích bằng nhau trong matplotlib, chúng ta có thể thực hiện các bước sau -

Các bước

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con.

  • Tạo các điểm dữ liệu ngẫu nhiên bằng cách sử dụng numpy.

  • Vẽ biểu đồ bằng equal_area phương pháp tạo diện tích các bản vá lỗi bằng nhau.

  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import numpy as np
from matplotlib import pyplot as plt

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

def equal_area(x, nbin):
   pow = 0.5
   dx = np.diff(np.sort(x))
   tmp = np.cumsum(dx ** pow)
   tmp = np.pad(tmp, (1, 0), 'constant')
   return np.interp(np.linspace(0, tmp.max(), nbin + 1), tmp, np.sort(x))

x = np.random.randn(1000)

n, bins, patches = plt.hist(x, equal_area(x, 20), edgecolor='black')

plt.show()

Đầu ra

Nó sẽ tạo ra kết quả sau -

Làm thế nào để tạo một biểu đồ với các thùng có diện tích bằng nhau trong Matplotlib?