我正在尝试使用 matplotlib 绘制直方图的一部分。
我不想绘制具有大量异常值和较大值的整个直方图,而是只关注一小部分。原始直方图如下所示:
hist(data, bins=arange(data.min(), data.max(), 1000), normed=1, cumulative=False)
plt.ylabel("PDF")
聚焦后它看起来像这样:
hist(data, bins=arange(0, 121, 1), normed=1, cumulative=False)
plt.ylabel("PDF")
请注意,最后一个 bin 被拉伸,所有 Y 刻度中最差的一个被缩放,因此总和正好为 1(因此根本不考虑当前范围之外的点)
我知道我可以通过在整个可能范围内绘制直方图然后将轴限制到我感兴趣的部分来实现我想要的,但是这会浪费大量时间来计算我不会使用/看到的 bin .
hist(btsd-40, bins=arange(btsd.min(), btsd.max(), 1), normed=1, cumulative=False)
axis([0,120,0,0.0025])
是否有一种快速简便的方法来仅绘制聚焦区域但仍使 Y 比例正确?