如何在matplotlib直方图中重新缩放计数

时间:2019-07-14 09:43:24

标签: python matplotlib histogram

我有一个matplotlib直方图,效果很好。

hist_bin_width = 4
on_hist = plt.hist(my_data,bins=range(-100, 200,hist_bin_width),alpha=.3,color='#6e9bd1',label='on')

我要做的就是将缩放比例调整为2。我不想更改bin宽度,也不想更改y轴标签。我想将所有垃圾箱中的计数(例如垃圾箱1中有17个计数)乘以2,这样垃圾箱1中现在就有34个计数。

这可能吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

因为这只是y轴的简单缩放,所以这必须是可能的。由于Matplotlib的hist计算了并绘制了直方图,因此难以进行干预,因此出现了问题。但是,正如文档还指出的那样,您可以使用weights参数来“绘制已经被分箱的数据的直方图”。这样就可以轻松应用缩放因子:

from matplotlib import pyplot
import numpy

numpy.random.seed(0)
data = numpy.random.normal(50, 20, 10000)
(counts, bins) = numpy.histogram(data, bins=range(101))

factor = 2
pyplot.hist(bins[:-1], bins, weights=factor*counts)
pyplot.show()

答案 1 :(得分:1)

ABBA的{​​{1}}参数可用于对每个数据点进行加权,例如

AABB