Transparenz für Poly3DCollection Grundstück in matplotlib

Ich versuche zu zeichnen, einige Objekte mit der fabelhaften Matplotlib Paket für Python. Diese Objekte bestehen aus Punkten, umgesetzt mit plt.scatter() und patches implementiert werden, mit Poly3DCollection. Ich hätte gerne die patches mit einer leichten Transparenz, so dass die Punkte und Kanten hinter den patches gesehen werden kann.

Hier der code und die Handlung, die ich bereits generiert. Scheint, ich bin fast da, nur fehlt das Merkmal der Transparenz. Interessanterweise, wenn ich den ersten plot die Ploy3DCollection und danach die scatter Punkte, die Punkte gesehen werden können, aber nicht die Kanten.

Jeder, der einen Vorschlag für mich?

Transparenz für Poly3DCollection Grundstück in matplotlib

from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d.art3d import Poly3DCollection

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = [0, 2, 1, 1]
y = [0, 0, 1, 0]
z = [0, 0, 0, 1]

vertices = [[0, 1, 2], [0, 1, 3], [0, 2, 3], [1, 2, 3]]

tupleList = zip(x, y, z)

poly3d = [[tupleList[vertices[ix][iy]] for iy in range(len(vertices[0]))] for ix in range(len(vertices))]
ax.scatter(x,y,z)
ax.add_collection3d(Poly3DCollection(poly3d, facecolors='w', linewidths=1, alpha=0.5))

plt.show()
InformationsquelleAutor Chilichiller | 2013-09-19
Schreibe einen Kommentar