mplot3d FAQ#
Wie unterscheidet sich mplot3d von Mayavi?#
Mayavi ist eine sehr leistungsfähige und funktionsreiche 3D-Grafikbibliothek. Für fortgeschrittene 3D-Szenen und exzellente Rendering-Fähigkeiten wird die Verwendung von Mayavi dringend empfohlen.
mplot3d wurde entwickelt, um Benutzern die Erstellung einfacher 3D-Diagramme mit dem gleichen "Look-and-Feel" wie bei Matplotlibs 2D-Diagrammen zu ermöglichen. Darüber hinaus können Benutzer das gleiche Toolkit verwenden, mit dem sie bereits vertraut sind, um sowohl ihre 2D- als auch ihre 3D-Diagramme zu erstellen.
Mein 3D-Diagramm sieht aus bestimmten Blickwinkeln nicht richtig aus#
Dies ist wahrscheinlich das am häufigsten gemeldete Problem mit mplot3d. Das Problem ist, dass aus bestimmten Blickwinkeln ein 3D-Objekt vor einem anderen Objekt erscheinen würde, obwohl es physisch dahinter liegt. Dies kann zu Diagrammen führen, die nicht "physikalisch korrekt" aussehen.
Leider, obwohl einige Arbeiten unternommen werden, um das Auftreten dieses Artefakts zu reduzieren, ist es derzeit ein unlösbares Problem und kann nicht vollständig gelöst werden, bis Matplotlib 3D-Grafik-Rendering in seinem Kern unterstützt.
Das Problem tritt aufgrund der Reduzierung von 3D-Daten auf einen 2D + z-Ordnungs-Skalar auf. Ein einzelner Wert repräsentiert die dritte Dimension für alle Teile von 3D-Objekten in einer Sammlung. Daher wird es möglich, dass dieses Artefakt auftritt, wenn die Begrenzungsrahmen zweier Sammlungen sich überschneiden. Darüber hinaus kann die Schnittmenge zweier 3D-Objekte (wie Polygone oder Patches) in Matplotlibs 2D-Rendering-Engine nicht korrekt gerendert werden.
Dieses Problem wird wahrscheinlich nicht gelöst werden, bis OpenGL-Unterstützung zu allen Backends hinzugefügt wird (Patches sind sehr willkommen). Bis dahin empfehlen wir für komplexe 3D-Szenen die Verwendung von MayaVi.
Mir gefällt die Anordnung des 3D-Diagramms nicht, wie kann ich das ändern?#
Historisch gesehen litt mplot3d unter hartkodierten Parametern zur Steuerung von visuellen Aspekten wie Achsenbeschriftungsabstand, Ticklänge und Linienbreite des Rasters. Es wird daran gearbeitet, dieses Problem zu beheben. Für Matplotlib v1.1.0 gibt es eine semi-offizielle Möglichkeit, diese Parameter zu ändern. Weitere Informationen finden Sie in der Anmerkung im Abschnitt mplot3d.axis3d der mplot3d API-Dokumentation.