Python - matplotlib,pyplot,x和y errorbars错误的方式回合?

use*_*501 2 python matplotlib

我对参数的顺序感到困惑 plt.errorbar

我的Python脚本中有以下代码

plt.errorbar(0.0, 1.0, 0.1, 10.0)
Run Code Online (Sandbox Code Playgroud)

我假设参数的顺序是:x_data,y_data,x_error,y_error

这同意:http://matplotlib.org/1.2.1/examples/pylab_examples/errorbar_demo.html

但是,当我运行此代码时,我得到以下输出:

截图

显然,x = 0.0,y = 1.0,x_err = 10.0,y_err = 0.1

所以交换了x_error和y_error参数!

我的问题是为什么?文档错了吗?我感到很困惑!

tmd*_*son 5

如果不使用关键字,则参数的顺序为x, y, yerr, xerr.

来自文档:

来电签名:

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)
Run Code Online (Sandbox Code Playgroud)

为避免这种情况,您可以使用关键字来确保为正确的参数提供正确的值; 然后订单无关紧要.请注意,这是您链接的示例也是如此.

因此,对于您的示例,您可能希望使用:

plt.errorbar(0.0, 1.0, xerr=0.1, yerr=10.0)
Run Code Online (Sandbox Code Playgroud)

  • @ user3728501如果要重新排序,必须为它们命名.(在我看来,你应该总是命名他们) (2认同)