【发布时间】:2013-04-27 08:35:10
【问题描述】:
我在数组 x、y 和 w 中有数据,其中“x”和“y”表示位置,“w”是 1 或 0 的权重,表示成功或失败。我正在尝试创建一个 2d 直方图,其中直方图的每个 bin 根据该 bin 中的成功百分比(即 bin 中的成功数除以 bin 中的总点数)进行着色。我已经玩了很多 numpy.histogram2d 并且可以得到密度图,但这与我的目标成功率方案不同。请注意 numpy.histogram2d 参数中的 normed=True 并不能缓解这个问题。
(为了澄清差异,如果箱中成功的次数较多,则密度图将指示较大的“颜色值”,而不管同一箱中有多少失败。我想知道取而代之的是成功,因此同一个 bin 中的大量失败会产生较小的“颜色值”。我为拙劣的术语道歉)。
非常感谢任何可以提供帮助的人!
当前代码不符合我的目标的示例:
import matplotlib.pyplot as plt
import numpy as np
plt.figure(1)
H, xedges, yedges = np.histogram2d(x, y, bins=50, weights=w, normed=True)
extent = [yedges[0], yedges[-1], xedges[-1], xedges[0]]
plt.imshow(H, extent=extent,interpolation='nearest')
plt.colorbar()
plt.show()
【问题讨论】: