9

で 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)

しかし、私はエラーが発生します

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

それがなければ、プロットは正常に機能します。問題はどこだ?または、サイズを変更する別の方法はありますか?

4

1 に答える 1

20

この関数は、キーワード args の前に 2 つの引数を取ります。

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

そして、3 つを渡しているので、s2 回 (暗黙的に 1 回と明示的に 1 回) 指定しています。

実際には、3D の代わりに 2D の散布図関数を使用しようとしていると思います。おそらく代わりにこれを行いたいでしょう:

from mpl_toolkits.mplot3d import Axes3D
Axes3D.scatter( ... )
于 2013-10-18T13:54:52.183 に答える