Transparencia para el gráfico Poly3DCollection en matplotlib

Estoy tratando de dibujar algunos objetos con el fabuloso paquete Matplotlib para Python. Estos objetos consisten en puntos implementados conplt.scatter() y parches implementados conPoly3DCollection. Me gustaría tener los parches con una ligera transparencia para poder ver los puntos y bordes detrás de los parches.

Aquí el código y la trama que ya generé. Parece que ya casi estoy ahí, solo me falta la característica de la transparencia. Curiosamente, si primero trazo elPloy3DCollection y luego elscatter Puntos, los puntos se pueden ver, pero no los bordes.

¿Alguien que tenga alguna sugerencia para mí?

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()

Respuestas a la pregunta(4)

Su respuesta a la pregunta