我正在尝试使用matplotlib绘制3D散点图
问题是我无法更改标记的大小
我有这个

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( ... )

10-08 13:21