mplot3d-FAQ #
Wie unterscheidet sich mplot3d von Mayavi? #
Mayavi ist eine sehr leistungsstarke und funktionsreiche 3D-Grafikbibliothek. Für fortgeschrittene 3D-Szenen und hervorragende Rendering-Fähigkeiten wird dringend empfohlen, Mayavi zu verwenden.
mplot3d sollte es Benutzern ermöglichen, einfache 3D-Diagramme mit dem gleichen "Look-and-Feel" wie die 2D-Plots von matplotlib zu erstellen. Darüber hinaus können Benutzer dasselbe Toolkit verwenden, mit dem sie bereits vertraut sind, um sowohl ihre 2D- als auch 3D-Diagramme zu erstellen.
Mein 3D-Plot sieht aus bestimmten Blickwinkeln nicht richtig aus #
Dies ist wahrscheinlich das am häufigsten gemeldete Problem mit mplot3d. Das Problem ist, dass – aus einigen Blickwinkeln – ein 3D-Objekt vor einem anderen Objekt erscheinen würde, obwohl es sich physisch dahinter befindet. Dies kann zu Diagrammen führen, die nicht "physikalisch korrekt" aussehen.
Obwohl einige Arbeiten unternommen werden, um das Auftreten dieses Artefakts zu reduzieren, ist es leider derzeit ein hartnäckiges Problem und kann nicht vollständig gelöst werden, bis matplotlib das Rendern von 3D-Grafiken im Kern unterstützt.
Das Problem tritt aufgrund der Reduktion von 3D-Daten auf 2D + Skalar der z-Ordnung auf. Ein einzelner Wert repräsentiert die 3. Dimension für alle Teile von 3D-Objekten in einer Sammlung. Wenn sich die Begrenzungsrahmen zweier Sammlungen überschneiden, wird es daher möglich, dass dieses Artefakt auftritt. Darüber hinaus kann die Schnittmenge zweier 3D-Objekte (wie Polygone oder Patches) in der 2D-Rendering-Engine von matplotlib nicht richtig gerendert werden.
Dieses Problem wird wahrscheinlich nicht gelöst, bis OpenGL-Unterstützung zu allen Backends hinzugefügt wird (Patches sind sehr willkommen). Wenn Sie bis dahin komplexe 3D-Szenen benötigen, empfehlen wir die Verwendung von MayaVi .
Mir gefällt das Layout des 3D-Plots nicht, wie kann ich das ändern? #
In der Vergangenheit hat mplot3d unter einer Hartcodierung von Parametern gelitten, die zur Steuerung von visuellen Elementen wie Beschriftungsabstand, Ticklänge und Gitterlinienbreite verwendet werden. An der Beseitigung dieses Problems wird gearbeitet. Für matplotlib v1.1.0 gibt es eine halboffizielle Möglichkeit, diese Parameter zu ändern. Weitere Informationen finden Sie im Hinweis im
mplot3d.axis3d
Abschnitt der mplot3d-API-Dokumentation.