我试图在python中使用matplotlib.pyplot.hist. 我有一个不同的数据数组,但是当我把代码放入python中时,柱状图返回的结果是所有存储单元中的值彼此相等,或者等于零,这是不正确的。在
柱状图应该看上面的线图,这些线图的高度和形状与上面的图大致相同。在
柱状图上方的线图是为了说明我的数据是什么样子的,并表明我的数据确实有所不同。在
我的数据数组称为spectrumnoise,它只是我针对数组x创建的一个函数
x=np.arange[0.1,20.1,0.1]
我用来创建直方图的代码和上面的线图是
^{pr2}$我也试过用
mpl.hist((x,spectrumnoise),bins=50,histtype=step)
我还无数次地改变了箱子的数量,看看这是否有助于直方图函数的正常化,但没有任何效果。在
这里可以看到代码输出的图像
问题是
spectrumnoise
是数组的list
,而不是numpy.ndarray
。当您将数组列表作为第一个参数交给hist
时,它将每个元素视为要绘制的独立数据集。由于列表中的每个“数据集”中只有一个值,所以所有的箱子都具有相同的高度!在从
hist
docstring:尝试将
spectrumnoise
转换为1D数组:顺便说一句,看看你的代码,绝对没有理由首先把你的数据转换成列表。您应该直接对数组中的片进行操作,例如:
^{pr2}$相关问题 更多 >
编程相关推荐