0

这是我的python代码Matplotlib,我想画两条线,第一条已经成功了,我想在这个图中再添加一条线,即y = x^(-0.56),所以我只是简单地添加一条( x,y) 对在它之后,代码返回错误:

lines = plt.loglog(x, y,basex=10,'ro',x,x**(-0.56),basex=10)


SyntaxError: non-keyword arg after keyword arg

谁能帮助如何做到这一点?

4

2 回答 2

4

那是因为您使用第一个 basex=10 作为默认参数,然后您将传递非默认参数。如果您确定您的函数需要这 7 个参数,则删除第一个 basex=10。

如果您像这样格式化代码,您也可以看到错误:

>>> lines = matplotlib.loglog(x,<br>
... y,<br>
... basex=10,<br>
... 'ro',<br>
... x,<br>
... x**(-0.56),<br>
... 10<br>
... )<br>
  File "<stdin>", line 4<br>
SyntaxError: non-keyword arg after keyword arg

The error clearly shows some problem with line 4 and the reason is that I specified above.

于 2012-08-20T10:15:39.317 回答
2

从您的参数列表中删除第一个basex=10(这是您的关键字 arg,它抱怨您后面有非关键字 args)。

IE

lines = plt.loglog(x, y,'ro',x,x**(-0.56),basex=10)

为了使其更明确,您还可以将其写为:

line1 = plt.loglog(x, y,'ro',basex=10)
line2 = plt.loglog(x,x**(-0.56),basex=10)
plt.show()
于 2012-08-20T10:13:39.343 回答