plt.scatter; SyntaxError: non-keyword arg after keyword arg

plt.scatter; SyntaxError: non-keyword arg after keyword arg

我已经看到这个问题被问过好几次了,但我 none 的解决方案与 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

如有任何建议,我们将不胜感激

您不应在关键字参数后指定位置(未命名)参数:

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

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

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 文档中的 chapter on keyword args