Панель ошибок графика в matplotlib на обеих осях - PullRequest
0 голосов
/ 13 мая 2019

Я хочу построить 2D точки данных с ошибками на каждой оси в Python. Я использовал errorbar от matplotlib:

x=[393.995,394.87,422.965,423.84,437.49,438.360,466.965,467.84]
y=[1.2625,0.7575,1.2625,0.7575,1.2625,1.7675,2.2725,2.7775]
errors=[0.486731,0.00955756,0.111786,0.412761,0.240057,0.228817,0.222496  ,0.24288]
errorbar(x, y, xerr=errors, yerr=errors, ecolor='k', fmt='o', capthick=2)

Но он показывает только ошибки по оси Y. Понятия не имею почему.

Сюжет:

The plot

1 Ответ

0 голосов
/ 13 мая 2019

В вашем коде нет ничего плохого.Проблема заключается в относительном значении ошибок и данных x.Вы просто не можете видеть бары.Чтобы понять проблему, взгляните на следующие два примера:

Инвертировать координаты x и y:

x=[393.995,394.87,422.965,423.84,437.49,438.360,466.965,467.84]
y=[1.2625,0.7575,1.2625,0.7575,1.2625,1.7675,2.2725,2.7775]
errors=[0.486731,0.00955756,0.111786,0.412761,0.240057,0.228817,0.222496  ,0.24288]
errorbar(y, x, xerr=errors, yerr=errors, ecolor='k', fmt='o', capthick=2) #invert x and y

enter image description here

Уменьшите значение вашего x.

x=[3.93995,3.9487,4.22965,4.2384,4.3749,4.38360,4.66965,4.6784] #x=x/100
y=[1.2625,0.7575,1.2625,0.7575,1.2625,1.7675,2.2725,2.7775]
errors=[0.486731,0.00955756,0.111786,0.412761,0.240057,0.228817,0.222496  ,0.24288]
plt.errorbar(x,y, xerr=errors, yerr=errors, ecolor='k', fmt='o', capthick=2)

enter image description here

...