如何使用 Matplotlib 繪製具有相等區域柱狀圖的直方圖?


若要使用 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()

輸出

將生成以下輸出:

更新日期: 02-02-2022

367 次瀏覽

開啟你的 職業

透過完成課程獲取認證

開始
廣告
© . All rights reserved.