Note
Go to the end to download the full example code.
Fill between 3D lines#
Demonstrate how to fill the space between 3D lines with surfaces. Here we create a sort of "lampshade" shape.
import matplotlib.pyplot as plt
import numpy as np
N = 50
theta = np.linspace(0, 2*np.pi, N)
x1 = np.cos(theta)
y1 = np.sin(theta)
z1 = 0.1 * np.sin(6 * theta)
x2 = 0.6 * np.cos(theta)
y2 = 0.6 * np.sin(theta)
z2 = 2 # Note that scalar values work in addition to length N arrays
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.fill_between(x1, y1, z1, x2, y2, z2, alpha=0.5, edgecolor='k')
plt.show()
