我在数组 x、y 和 w 中有数据,其中“x”和“y”表示位置,“w”是 1 或 0 的权重,表示成功或失败。我正在尝试创建一个 2d 直方图,其中直方图的每个 bin 根据该 bin 中的成功百分比(即 bin 中的成功数除以 bin 中的总点数)进行着色。我已经玩了很多 numpy.histogram2d 并且可以得到密度图,但这与我的目标成功率方案不同。请注意 numpy.histogram2d 参数中的 normed=True 并不能缓解这个问题。
(为了澄清差异,如果垃圾箱中有大量成功,无论同一个垃圾箱中有多少失败,密度图都将指示较大的“颜色值”。我希望获得成功的百分比,所以同一个垃圾箱中的大量失败会产生较小的“颜色值”。我为糟糕的术语道歉)。
非常感谢任何可以提供帮助的人!
当前代码不符合我的目标的示例:
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()