Nota
Haga clic aquí para descargar el código de ejemplo completo
Rotación de un gráfico 3D #
Una animación muy simple de una trama 3D giratoria sobre los 3 ejes.
Consulte Animación de un gráfico de estructura alámbrica 3D para ver otro ejemplo de animación de un gráfico 3D.
(Este ejemplo se omite al construir la galería de documentación porque intencionalmente toma mucho tiempo para ejecutarse)
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
# Grab some example data and plot a basic wireframe.
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
# Set the axis labels
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
# Rotate the axes and update
for angle in range(0, 360*4 + 1):
# Normalize the angle to the range [-180, 180] for display
angle_norm = (angle + 180) % 360 - 180
# Cycle through a full rotation of elevation, then azimuth, roll, and all
elev = azim = roll = 0
if angle <= 360:
elev = angle_norm
elif angle <= 360*2:
azim = angle_norm
elif angle <= 360*3:
roll = angle_norm
else:
elev = azim = roll = angle_norm
# Update the axis view and title
ax.view_init(elev, azim, roll)
plt.title('Elevation: %d°, Azimuth: %d°, Roll: %d°' % (elev, azim, roll))
plt.draw()
plt.pause(.001)