python - 具有归一化行的 2D 直方图

标签 python matplotlib plot 2d histogram

我想绘制一个二维直方图,每行都进行归一化。我正在使用以下代码:

H, xedges, yedges = np.histogram2d(charged_zgs, zgs, weights=prescales, normed=1, range=[[0, 0.5], [0, 0.5]], bins=25)
Hmasked = np.ma.masked_where(H==0,H) # Mask pixels with a value of zero

plt.pcolormesh(xedges,yedges,Hmasked)

cbar = plt.colorbar()
cbar.ax.set_ylabel('Counts')  

plt.show()

但是,normed=1 位使二重积分为 1,而我希望对每个单独的行进行标准化。

我以为我可以使用一个元组列表作为权重,我可以手动标准化它,但后来意识到参数权重必须是一维列表。

最佳答案

您可以使用 keepdims=True 避免进行所有转置:

H_norm_rows = H / H.max(axis=1, keepdims=True)

关于python - 具有归一化行的 2D 直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31957107/

相关文章:

python - Django:如何在启动时禁用数据库状态检查?

python - 如何分解元组列表?

python - 使用 bokeh 或 matplotlib 绘制主题

python - 在 Python 中创建类似网络的图形桁架

plot - 使用 matplotlib 或 pyqtgraph 绘制实时数据

python - 在 Python 中为 .csv 文件中的每条记录保存一个新的 .tsv 文件

python - pygraphviz 值错误 : Program dot not found in path

python - Matplotlib:pcolor() 不绘制最后一行和最后一列?

plot - 可以在 Vega-Lite 上编写 Latex 吗?

java - 如何在 JFreeCharts 中编写绘图点之间的时间延迟?