这是我的Matplotlib
的python代码,我想画两条线,第一条已经成功了,我想在这个图中再添加一条线,它是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
有没有人能帮我解决这个问题呢?
发布于 2012-08-20 10:15:39
这是因为您使用第一个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
这个错误清楚地显示了第4行的一些问题,原因是我在上面指定了。
发布于 2012-08-20 10:13:39
从你的参数列表中删除第一个basex=10
(这是你的关键字arg,它会告诉你后面有非关键字arg)。
即
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()
https://stackoverflow.com/questions/12035657
复制