np.histogram
如果您的目标只是将两个(或更多)绘制在一起,则无需使用。Matplotlib 可以做到这一点。
import matplotlib.pyplot as plt
plt.hist([X, Y]) # using your X & Y from question
plt.show()

如果您想要直方图中的概率而不是计数,请添加权重:
wx = np.ones_like(X) / len(X)
wy = np.ones_like(Y) / len(Y)
您还可以从plt.hist
其他用途中获取输出。
n_plt, bins_plt, patches = plt.hist([X, Y], bins=n-1, weights=[wx,wy])
plt.show()

注意这里的用法,n-1
而不是n
因为 numpy 和 matplotlib 添加了一个额外的 bin。您可以n
根据您的用例使用。
但是,如果您真的想要这些 bin 用于其他目的,np.historgram
请给出输出中使用的 bin - 您可以将其用作第二个直方图中的输入:
a,bins_numpy = np.histogram(Y,bins=n-1)
b,bins2 = np.histogram(X,bins=bins_numpy)
Y 的箱子在这里用于 X,因为你的 Y 比 X 的范围更广。
对账检查:
all(bins_numpy == bins2)
>>>True
all(bins_numpy == bins_plt)
>>>True