Matplotlib scatter-marker-Größe
Ich versuche, Grundstück eine 3D-scatter mit matplotlib
Das problem ist, dass ich nicht die Marke ändern, die Größe
Ich habe diese
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)
Aber ich bekomme die Fehlermeldung
TypeError: scatter() got multiple values for keyword argument 's'
Ohne, dass der plot funktioniert. Wo ist das problem? Oder gibt es einen anderen Weg, um die Größe zu ändern?
InformationsquelleAutor PerroNoob | 2013-10-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Funktion nimmt zwei Argumente, bevor Sie das Schlüsselwort args:
scatter(x, y, s=20, ...)
Und übergeben Sie in drei, also geben Sie
s
zweimal (einmal implizit und einmal explizit).Tatsächlich, ich glaube, Sie versuchen, verwenden Sie die 2D scatter-plot-Funktion anstelle eines 3D ein. Werden Sie wahrscheinlich wollen, um dies zu tun, statt:
fig=plt.figure()
undax = Axes3D(fig)
vor. Ich habe noch einen Fehler wenn ich Axes3D.scatter:TypeError: unbound method scatter() must be called with Axes3D instance as first argument (got list instance instead)
Tut mir Leid, habe ich es herausgefunden, dass dabei
ax = fig.add_subplot(111, projection = '3d')
und dannax.scatter()
habe ich nicht einen Fehler mehr. Ihre Antwort machte mir klar, dass ich vielleicht doch etwas falsch mit dem scatter. Vielen Dank für Eure HilfeInformationsquelleAutor wim