TypeError: Axes3D
Hab ich ein problem mit meinem Axes3D plotter, jedes mal, wenn ich somethign bekomm ich TypeError: unbound method scatter() must be called with Axes3D instance as first argument (got list instance instead)
Und ich verstehe nicht ganz, welche Art von Typ es von mir will, als ich will einfach nur, um die x -, y -, z-Koordinaten eines einzigen Punktes. (diese Listen oder ints, beide geben Fehler.)
Axes3D.scatter( Xc[l], Yc[l], Zc[l], c=(i/nbodies,i/nbodies,i/nbodies))
Ich habe wirklich keine Ahnung was das problem hier ist
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie instanziieren die Achse zuerst:
Alternativ können Sie verwenden
ax.axis([-400, 400, -400, 400])
nicht akzeptieren 3rd-Dingensax.set_zlim(-400, 400)
.David ' s Antwort eigentlich gar keine Arbeit für mich, aber die Art und Weise, die ich normalerweise benutze sieht es so aus: Sie erstellen eine Achse Objekt, wie erwähnt, von David, durch die Schaffung einer neuen Nebenhandlung:
scatter() ist eine Methode, die aufgerufen werden, auf ein Objekt. Dabei ist das erste argument an die Methode übergeben ist immer das Objekt selbst. Das ist, warum, wenn die Berufung auf die Klasse Axes3D stattdessen das Objekt, und dafür ist der richtige erste argument fehlt.
Update: ok, ich wusste nicht, siehe das update in David ' s Antwort, also ist es jetzt das gleiche natürlich auch 😉