让两个直方图相互绘制,以获得相同的宽度区域。

问题描述 投票:0回答:1

我有两张直方图,我把它们重叠在一起绘制。样本1有100个对象,样本2有6000个对象,但我已经将它们归一化,这样我就可以比较它们。但是有什么方法可以让两个直方图的宽度相同。

代码如下。

bins=100
plt.hist(change_sample1, bins=bins, color='blue', edgecolor='black', label='Sample1', density=True)
plt.hist(change_sample2, bins=bins, color='red', edgecolor='black', label='Sample2', density=True) 
plt.xlabel('Change in sample size')
plt.ylabel('Proportion origional sample')
plt.xlim(-1, 1)
plt.title('Distribution of change in sample size')
plt.legend()
plt.show() 

所以我想让两个直方图的边缘和宽度都一样 我可以完全改变每个图的区域数量,这很好。有什么方法可以做到这一点吗?

enter image description here

python numpy matplotlib histogram
1个回答
1
投票

你可以使用 range 的论点 plt.hist. 在这种情况下,给定你的X范围,你可以使用 plt.hist(change_sample1, bins=bins, range=(-1, 1), ...). 然后用同样的范围来处理 change_sample2.

© www.soinside.com 2019 - 2024. All rights reserved.