2016-10-20 4 views
2

Я смущен порядка аргументов plt.errorbarPython - matplotlib, pyplot, x и y errorbars неправильным образом?

У меня есть следующий код в моем сценарии Python

plt.errorbar(0.0, 1.0, 0.1, 10.0) 

Я хотел бы предположить порядок аргументов: x_data, y_data, x_error, y_error

Это согласуется с: http://matplotlib.org/1.2.1/examples/pylab_examples/errorbar_demo.html

Однако, когда я запускаю этот код, я получаю следующий результат:

Screenshot

Очевидно, что х = 0,0, у = 1,0, x_err = 10,0, y_err = 0,1

Так x_error и y_error аргументы меняются местами!

Мой вопрос: почему? Неверная документация? Я так растерялся!

ответ

5

Если вы не используете ключевые слова, порядок аргументов x, y, yerr, xerr.

Из docs:

вызова подписи:

errorbar(x, y, yerr=None, xerr=None, 
    fmt='', ecolor=None, elinewidth=None, capsize=None, 
    barsabove=False, lolims=False, uplims=False, 
    xlolims=False, xuplims=False, errorevery=1, 
    capthick=None) 

Чтобы избежать этого, вы можете использовать ключевые слова, чтобы убедиться, что вы даете правильное значение для правильного аргумента; то порядок не имеет значения. Обратите внимание, что именно так связан и этот пример.

Так, для примера, вы хотели бы использовать:

plt.errorbar(0.0, 1.0, xerr=0.1, yerr=10.0) 
+0

Спасибо - я не знаю, что я мог бы изменить порядок аргументов в Python! – user3728501

+2

@ user3728501, вы должны назвать их, если хотите их изменить. (На мой взгляд, вы всегда должны их называть) –

+0

Похоже, хороший совет, спасибо – user3728501

Смежные вопросы