Python Matplotlib散点标记大小

Python Matplotlib散点标记大小,python,matplotlib,size,scatter-plot,Python,Matplotlib,Size,Scatter Plot,我正在尝试使用matplotlib 问题是我无法更改标记的大小 我有这个 scat = plt.scatter([boid_.pos[0] for boid_ in flock], [boid_.pos[1] for boid_ in flock], [boid_.pos[2] for boid_ in flock], marker='o', s=5) 但是我得到了错误 Type

我正在尝试使用
matplotlib
问题是我无法更改标记的大小 我有这个

scat = plt.scatter([boid_.pos[0] for boid_ in flock],
                   [boid_.pos[1] for boid_ in flock],
                   [boid_.pos[2] for boid_ in flock], 
                   marker='o', s=5)
但是我得到了错误

TypeError: scatter() got multiple values for keyword argument 's'

没有这一点,情节就很好了。问题在哪里?或者是否有其他方法更改大小?

此函数在关键字args之前接受两个args:

scatter(x,y,s=20,…)

您将传入三个,因此您将指定
s
两次(一次隐式指定,一次显式指定)

事实上,我认为您正在尝试使用2D散点图函数,而不是3D散点图函数。您可能希望这样做:

from mpl_toolkits.mplot3d import Axes3D
Axes3D.scatter( ... )

也许我应该在我的帖子中写它,但我以前有过
fig=plt.figure()
ax=Axes3D(fig)
。如果我使用Axes3D.scatter,我仍然会遇到一个错误:
TypeError:unbound方法scatter()必须以Axes3D实例作为第一个参数调用(取而代之的是list实例)
对不起,我发现,执行
ax=fig.add_子图(111,projection='3d')
然后
ax.scatter()
,我再也不会收到错误。你的回答让我意识到也许我的分散性有问题。谢谢你的帮助