Wie man die verborgenen Linien in einem plot_wireframe über matplotlib entfernt?
Ist die matplotlib
in Python 2.x unterstützt versteckte Linie Entfernung?
Wie kann ich es selbst umsetzen?
Dies ist eine weitere Frage eines weiteren Beitrags hier: Wie bekomme ich eine 3D farbige Oberfläche über Python?
One Solution collect form web for “Wie man die verborgenen Linien in einem plot_wireframe über matplotlib entfernt?”
Ich gehe davon aus, dass mit "versteckten" Sie Zeilen, die hinter Oberflächenpatches in der Ansicht sind, zB hinter "Hügeln" in der Handlung.
Verwenden Sie plot_surface
statt plot_wireframe
:
ich benutzte
plot_wireframe(X, Y, Z, rstride=10, cstride=10)
Um die erste und
plot_surface(X, Y, Z, rstride=10, cstride=10, color="white", shade=False, edgecolor="blue")
Um die zweite Handlung zu erstellen.
Wenn du das mit Colormapping an den Kanten kombinieren möchtest, musst du einige Einbauten benutzen. Wenn Sie das cmap
Argument verwenden, um die Oberflächengesichter zu Poly3DCollection.do_3d_projection
ruft der Quellcode für Poly3DCollection.do_3d_projection
schließlich to_rgba(self._A)
auf, um Gesichtsfarben zu berechnen. Tauschen Sie diese zu Randfarben, und Sie sind gut zu gehen:
surf = ax.plot_surface(X, Y, Z, rstride=2, cstride=2, shade=False, cmap="jet", linewidth=1) surf.set_edgecolors(surf.to_rgba(surf._A)) surf.set_facecolors("white")
Produziert diese Handlung:
(Möglicherweise müssen set_facecolors
nach dem ersten Render-Pass set_edgecolors
/ set_facecolors
erneut set_facecolors
, da do_3d_projection
die Werte do_3d_projection
könnte, ich lief dies im interaktiven Modus und habe nicht überprüft.)