Matplotlib散射标记大小

Per*_*oob 7 python size matplotlib scatter-plot

我正在尝试绘制3D散射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)
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误

TypeError: scatter() got multiple values for keyword argument 's'
Run Code Online (Sandbox Code Playgroud)

没有它,情节工作正常.问题出在哪儿?还是有另一种方法来改变大小?

wim*_*wim 13

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

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

你传递了三个,所以你指定了s两次(一次是隐式的,一次是明确的).

实际上,我认为您正在尝试使用2D散点图函数而不是3D散点图函数.您可能想要这样做:

from mpl_toolkits.mplot3d import Axes3D
Axes3D.scatter( ... )
Run Code Online (Sandbox Code Playgroud)