0
我试图绘制与errorbars一些数据在Python,但得到不断出现以下错误信息:python ValueError safezip:不同长度的数据和errordata?
(21,) (21,) (2, 21) (21,)
Traceback (most recent call last):
File "q_profil.py", line 104, in <module>
ax.errorbar(qmean,np.arange(-5,5.5,0.5),'.-') #np.array([qstdev,qstdev]
File "/usr/lib64/python2.7/site-packages/matplotlib/axes.py", line 5547, in errorbar
in cbook.safezip(y,yerr[0])]
File "/usr/lib64/python2.7/site-packages/matplotlib/cbook.py", line 1225, in safezip
raise ValueError(_safezip_msg % (Nx, i + 1, len(arg)))
ValueError: In safezip, len(args[0])=21 but len(args[1])=1
代码:
qmean = np.mean(qn,axis=1)*1e03
qstdev = np.std(qn,axis=1)*1e03
xerr=[qstdev,qstdev]
print qmean.shape, qstdev.shape, np.shape(xerr),np.arange(-5,5.5,0.5).shape
fig = plt.figure()
ax = fig.add_subplot(111)
ax.errorbar(qmean,np.arange(-5,5.5,0.5),'.-',xerr=[qstdev,qstdev])
我也尝试已经
ax.errorbar(qmean,np.arange(-5,5.5,0.5),'.-',xerr=qstdev)
和
ax.errorbar(qmean,np.arange(-5,5.5,0.5),'.-',xerr=np.array([qstdev,qstdev]))
总是有相同的错误。即使xerr =没有让我这个。你可以看到,我打印了qmean(我的数据),qstdev(错误数据数组的大小)和范围数组(从-5到5.5的范围)的形状,这是第一行第一个代码块。
对于
ax.errorbar(qmean,np.arange(-5,5.5,0.5),'.-',xerr=xerr)
我LEN得到了错误(参数[1])= 2
任何人的任何意见,什么尝试?没有在网上找到任何有用的提示。通常,用户使用完全相同的代码解决了他们的问题。我想知道这个错误,因为我的数据的形状看起来是正确的。
BTW:'ax.plot(qmean,np.arange( - 5,5.5,0.5))'确实很好地工作。所以我想这与错误有关? – Robert