1

我创建了一个直方图来查看列表中相似值的数量。

data = np.genfromtxt("Pendel-Messung.dat")
stdm = (np.std(data))/((700)**(1/2))
breite = 700**(1/2)

fig2 = plt.figure()
ax1 = plt.subplot(111)
ax1.set_ylim(0,150)
ax1.hist(data, bins=breite)
ax2 = ax1.twinx()
ax2.set_ylim(0,150/700)

plt.show()

我想在直方图的每个条的中间创建误差条(错误是 stdm)。我知道我可以使用创建错误栏

plt.errorbar("something", data, yerr = stdm) 

但是我如何让它们从每个条的中间开始呢?我想只添加 breite/2,但这给了我一个错误。

对不起,我是初学者!谢谢!

4

1 回答 1

0

ax.hist返回 bin 边缘和频率 ( ) n,以便我们可以在调用. 此外,输入为bin 数量的整数或 bin 边缘序列。我想你我们试图给一个 bin 宽度?如果是这样,这应该有效(您只需要选择适当的):xyerrorbarbinshistbreitexmax

n,bin_edges,patches = ax.hist(data,bins=np.arange(0,xmax,breite))

x = bin_edges[:-1]+breite/2.

ax.errorbar(x,n,yerr=stdm,linestyle='None')
于 2015-12-02T13:26:51.473 回答