我有一個2D直方圖我與numpy的生成histogram2d:規格化由紙槽區域
H, xedges, yedges = np.histogram2d(y, x, weights=mass * (1.0 - pf),
bins=(yrange,xrange))
注意,我目前稱量倉與質量的函數(mass
是numpy的陣列具有相同尺寸如x
和y
)。該箱是對數的(通過xrange = np.logspace(minX, maxX, 100)
生成)。然而,我真的想要用質量函數來加權,但是將它們歸一化(即,除以)倉的面積:例如, - 每個垃圾箱的面積爲xrange[i] * yrange[i]
。但是,因爲xrange
和yrange
的尺寸與mass
,x
和y
不一樣,所以我不能簡單地在np.histogram2d
調用中進行標準化。
我怎樣才能按每個日誌文件夾中的區域來規範文件夾計數?
作爲參考,這裏是情節(我已經添加了x和y一維直方圖,我還需要通過bin的寬度進行歸一化,但是一旦我找出如何爲2D做它應該是類似的)。
僅供參考 - 我生成的主要(和軸,直方圖)與matplotlib:
X,Y=np.meshgrid(xrange,yrange)
H = np.log10(H)
masked_array = np.ma.array(H, mask=np.isnan(H)) # mask out all nan, i.e. log10(0.0)
cax = (ax2dhist.pcolormesh(X,Y,masked_array, cmap=cmap, norm=LogNorm(vmin=1,vmax=8)))
哦,夥計......就是這麼簡單?我會嘗試發佈結果。謝謝。 – earnric
是的......我認爲這樣做。感謝您也展示了廣播方法......實際上我需要在規範化中使用另一個變量(整個模擬的音量......所以我可以規範化爲「每單位音量」),這樣小技巧就會派上用場! – earnric
![NewPlot](https://dl.dropboxusercontent.com/u/5614270/ZmassDiv1-PGFpltHistNormed-z_6.50.png) – earnric