Pythonでエラーバーを使用していくつかのデータをプロットしようとしていますが、常に次のエラーメッセージが表示されます:
(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=None でさえこれを取得しました。
ご覧のとおり、最初のコードの最初の行である qmean (私のデータ)、qstdev (エラー データ配列のサイズ)、および範囲配列 (-5 から 5.5 の範囲) の形状を出力しました。ブロック。
為に
ax.errorbar(qmean,np.arange(-5,5.5,0.5),'.-',xerr=xerr)
len(args[1])=2 でエラーが発生しました
何を試してみるべきかアドバイスはありますか?ウェブ上で役立つヒントが見つかりませんでした。通常、ユーザーは私が使用しているのとまったく同じコードで問題を解決しました。私のデータの形状は正しいように見えるので、エラーについて疑問に思っています。