我尝试搜索类似的东西,找到最接近的是这个,它帮助我提取和操作数据,但现在我无法弄清如何重新绘制直方图。我有一些电压数组,并且已经绘制了这些电压的出现次数直方图。我想改为制作每小时事件的直方图(所以常规直方图的y轴除以我收集数据的小时数),然后重新绘制直方图,使用操作后的y
数据。
我有一个包含每小时事件数的数组(由pyplot.hist
的原始y
轴除以记录数据所花费的小时数组成),以及直方图的箱子。 我使用以下代码创建了该数组(取自上面链接的答案):
import numpy
import matplotlib.pyplot as pyplot
mydata = numpy.random.normal(-15, 1, 500) # this seems to have to be 'uneven' on either side of 0, otherwise the code looks fine. FYI, my actual data is all positive
pyplot.figure(1)
hist1 = pyplot.hist(mydata, bins=50, alpha=0.5, label='set 1', color='red')
hist1_flux = [hist1[0]/5.0, 0.5*(hist1[1][1:]+hist1[1][:-1])]
pyplot.figure(2)
pyplot.bar(hist1_flux[1], hist1_flux[0])
这段代码与我的代码并不完全相同;我的数据由1000个包含每个1000个数据点(电压)的数组组成。我已经制作了该数据的直方图,这给出了给定电压范围(或bin宽度)的发生次数。我想做的就是重新绘制一个每小时事件数量的直方图(因此为直方图的y轴 / 5小时),使用相同的原始bin宽度,但当我除以hist1[0]/5
并以上述方式重新绘制时,“bin宽度”就全部错误了。
我感觉一定有一种更简单的方法来做到这一点,而不是手动重新绘制自己的直方图。
提前致谢,如果我忽略了一些显而易见的东西,真的很抱歉。
问题如下图所示:
上图: 代码片段输出。
下图: 我的实际数据。