plt.scatter; SyntaxError:关键字arg之后的非关键字arg

时间:2017-08-19 18:53:21

标签: python matplotlib scatter-plot

我已经看过很多次这个问题,但我没有一个解决方案与plt.scatter函数相关联。

这是我的代码:

plt.figure(figsize=(10,10))
plt.scatter(df.pickup_longitude,df.pickup_latitude, 
            c = df.pickup_cluster, cmap = 'autumn','.', alpha = 0.4, markersize = 0.5)
plt.show()

这是错误:

  File "<ipython-input-42-6be5f7d17c02>", line 3
    c = df.pickup_cluster, cmap = 'autumn','.', alpha = 0.4, markersize = 0.5)
SyntaxError: non-keyword arg after keyword arg

非常感谢任何建议

3 个答案:

答案 0 :(得分:1)

你不应该在关键字参数之后指定位置(非命名)参数:

plt.scatter(df.pickup_longitude,df.pickup_latitude, 
            c = df.pickup_cluster, cmap = 'autumn', 
            marker='.', alpha = 0.4, markersize = 0.5)
# NOTE:     ^^^^^^^

答案 1 :(得分:1)

SyntaxError: non-keyword arg after keyword arg的原因总是一样的:你在关键字参数之后有一些参数,例如

function(1,2, arg=3, arg=4, 5, arg=6)

这里的数字5是一个参数,它位于您开始使用关键字参数之后。

cmap = 'autumn','.', alpha = 0.4,
                 |
               here

'.'也需要一个关键字,即marker

plt.scatter(x,y, c=c, marker='.', alpha = 0.4, markersize = 0.5)

您可能有兴趣阅读python doc中的chapter on keyword args

答案 2 :(得分:0)

这是因为您在某些关键字参数后面有'.'。也可以使用关键字参数。这应该可以解决问题。