I wonder if mplot3d provides a way to alter the opacity of mesh face colors. Below is a simple example for creating a 3Dplot using mplot3D and marching_squares method.
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.art3d import Poly3DCollection from mpl_toolkits.mplot3d import Axes3D # create 3D numpy array, called mask mask = np.zeros((3,3,3)) for i in np.arange(0,1): for j in np.arange(0,1): for k in np.arange(0,1): mask[i,j,k] = 1 # use module (in this case, marching cubes) to find the vertices and faces of this 3D object verts, faces, normals, values = marching_cubes_lewiner(mask) fig = plt.figure(figsize=(10, 10)) ax = fig.add_subplot(111, projection="3d") ax.set_xlim(np.min(verts[:,0]), np.max(verts[:,0])) ax.set_ylim(np.min(verts[:,1]), np.max(verts[:,1])) ax.set_zlim(np.min(verts[:,2]), np.max(verts[:,2])) mesh = Poly3DCollection(verts[faces]) mesh.set_edgecolor('k') # set face color mesh.set_facecolor('r') ax.add_collection3d(mesh) plt.tight_layout() plt.show()
Is there a function to set the face color as transparent (i.e. can you alter face opacity?) I searched around and have not found the right function, as yet.