【发布时间】:2016-02-21 22:07:34
【问题描述】:
我正在尝试根据直方图制作比例散点图。散点图相当简单,制作直方图,找到 bin 中心,散点图。
nbins=7
# Some example data
A = np.random.randint(0, 10, 100)
B = np.random.rand(100)
counts, binEdges=np.histogram(A,bins=nbins)
bincenters = 0.5*(binEdges[1:]+binEdges[:-1])
fig = plt.figure(figsize=(7,5))
ax = fig.add_subplot(111)
ax.scatter(bincenters,counts,c='k', marker='.')
ax_setup(ax, 'X', 'Y')
plt.show()
但我希望A 的每个元素只为其bin 贡献一个缩放值,该缩放值存储在B 中。 (即不是每个 bin 是来自 A 的元素的计数,我希望每个 bin 是来自 B 的相应值的总和)
为此,我尝试创建一个列表C(与A 和B 的长度相同),为A 的每个元素分配bin 编号,然后将@987654330 中的所有值相加@ 进入同一个垃圾箱。我认为numpy.searchsorted() 是我需要的,例如,
C = bincenters.searchsorted(A, 'right')
但这并没有正确分配,并且似乎没有返回正确数量的垃圾箱。
那么,如何创建一个列表来告诉我数据的每个元素进入哪个直方图 bin?
【问题讨论】: