如何在图形matplotlib中绘制两条线

时间:2012-08-20 10:00:05

标签: python matplotlib

这是我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

有人可以帮忙怎么做?

2 个答案:

答案 0 :(得分: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

错误清楚地显示了第4行的一些问题,原因是我在上面指定了。

答案 1 :(得分:2)

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

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()
相关问题