有没有办法在 numpy.hist 中返回相同长度的数组?

man*_*oth 4 python arrays plot numpy histogram

我正在尝试在 python 中创建一个直方图,使用一些自定义值对 y 轴值进行标准化。为此,我想这样做:

import numpy as np
import matplotlib.pyplot as plt

data = np.loadtxt('foo.bar')
fig = plt.figure()
ax = fig.add_subplot(111)

hist=np.histogram(data, bins=(1.0, 1.5 ,2.0,2.5,3.0))
x=[hist[0]*5,hist[1]]
ax.plot(x[0], x[1], 'o')
Run Code Online (Sandbox Code Playgroud)

但当然,最后一行给出:

ValueError: x and y must have same first dimension
Run Code Online (Sandbox Code Playgroud)

有没有办法强制 np.hist 为 x[0] 和 x[1] 数组提供相同数量的元素,例如删除其中一个的第一个或最后一个元素?

Jbl*_*sco 6

hist[1] 包含您制作直方图的范围。我想你可能想得到这些间隔的中心,比如:

x = [hist[0], 0.5*(hist[1][1:]+hist[1][:-1])]
Run Code Online (Sandbox Code Playgroud)

然后剧情应该没问题吧?