ในการสร้างฮิสโตแกรมที่มีถังขยะพื้นที่เท่ากันใน matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -
ขั้นตอน
-
กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
-
สร้างจุดข้อมูลแบบสุ่มโดยใช้ numpy
-
พล็อตฮิสโตแกรมด้วย equal_area วิธีการที่ทำให้พื้นที่ของแพทช์เท่ากัน
-
หากต้องการแสดงรูป ให้ใช้ show() วิธีการ
ตัวอย่าง
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()
ผลลัพธ์
มันจะสร้างผลลัพธ์ต่อไปนี้ -