Ok, ich habe also das Gefühl, dass es einen einfachen Weg geben sollte, ein 3D-Streudiagramm mit Matplotlib zu erstellen. Ich habe ein 3D numpy Array (dset
) mit 0, wo ich will keinen Punkt und 1, wo ich tun, im Grunde ist es plotten ich jetzt durch drei for:
Schleifen als solche Schritt müssen:Erstellen eines 3D-Plots aus einem 3D-Numpy-Array
for i in range(30):
for x in range(60):
for y in range(60):
if dset[i, x, y] == 1:
ax.scatter(x, y, -i, zdir='z', c= 'red')
Irgendwelche Vorschläge Wie könnte ich das effizienter erreichen? Irgendwelche Ideen würden sehr geschätzt werden.
Schöne. Ich habe eine Frage über den '(d> 3.4) .nonzero()' Teil obwohl, würde das nur die Orte zurückgeben, wo d einen Wert größer als 3.4 hat? – pter
@pter: genau richtig. '(d> 3.4)' gibt einem booleschen Array die gleiche Form wie 'd' mit' True', wobei der Eintrag anderswo> 3.4 und 'False' ist. – DSM
süß ich wusste nicht darüber (in der Regel brauchen 3D-Plots ... aber wenn ich das tue, wäre es super!) Danke DSM –