Gráfico de Superficie 3D con Coordenadas Polares

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica es una guía paso a paso para crear una superficie 3D con coordenadas polares utilizando la librería Python Matplotlib. Esta práctica asume conocimientos básicos de programación en Python y de la librería Matplotlib.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/AdvancedPlottingGroup(["Advanced Plotting"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/DataStructuresGroup -.-> python/tuples("Tuples") python/DataStructuresGroup -.-> python/sets("Sets") matplotlib/AdvancedPlottingGroup -.-> matplotlib/3d_plots("3D Plots") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48972{{"Gráfico de Superficie 3D con Coordenadas Polares"}} matplotlib/figures_axes -.-> lab-48972{{"Gráfico de Superficie 3D con Coordenadas Polares"}} python/tuples -.-> lab-48972{{"Gráfico de Superficie 3D con Coordenadas Polares"}} python/sets -.-> lab-48972{{"Gráfico de Superficie 3D con Coordenadas Polares"}} matplotlib/3d_plots -.-> lab-48972{{"Gráfico de Superficie 3D con Coordenadas Polares"}} python/importing_modules -.-> lab-48972{{"Gráfico de Superficie 3D con Coordenadas Polares"}} python/numerical_computing -.-> lab-48972{{"Gráfico de Superficie 3D con Coordenadas Polares"}} python/data_visualization -.-> lab-48972{{"Gráfico de Superficie 3D con Coordenadas Polares"}} end

Importar las bibliotecas necesarias

Comenzaremos importando las bibliotecas necesarias para esta práctica, que incluyen Matplotlib y NumPy. Matplotlib es una biblioteca de trazado para Python, mientras que NumPy es una biblioteca para el lenguaje de programación Python, que agrega soporte para matrices y arreglos multidimensionales de gran tamaño.

import matplotlib.pyplot as plt
import numpy as np

Crear la malla

A continuación, crearemos la malla en coordenadas polares y calcularemos el Z correspondiente. Crearemos una matriz de valores de radio r, una matriz de valores de ángulo p, y luego usaremos la función meshgrid() de NumPy para crear una cuadrícula de valores de R y P. Finalmente, usaremos la ecuación de Z para calcular la altura de cada punto en la superficie.

r = np.linspace(0, 1.25, 50)
p = np.linspace(0, 2*np.pi, 50)
R, P = np.meshgrid(r, p)
Z = ((R**2 - 1)**2)

Expresar la malla en el sistema cartesiano

Ahora, expresaremos la malla en el sistema cartesiano utilizando las funciones cos() y sin() de NumPy.

X, Y = R*np.cos(P), R*np.sin(P)

Graficar la superficie

En este paso, graficaremos la superficie utilizando la función plot_surface() de Matplotlib. Usaremos la paleta de colores YlGnBu_r para establecer el color de la superficie.

fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(X, Y, Z, cmap=plt.cm.YlGnBu_r)

Ajustar los límites y agregar etiquetas

Finalmente, ajustaremos los límites de la gráfica y agregaremos etiquetas de eje utilizando las funciones set_zlim(), set_xlabel(), set_ylabel() y set_zlabel() de Matplotlib. También usaremos el modo de matemáticas LaTeX para escribir las etiquetas de eje.

ax.set_zlim(0, 1)
ax.set_xlabel(r'$\phi_\mathrm{real}$')
ax.set_ylabel(r'$\phi_\mathrm{im}$')
ax.set_zlabel(r'$V(\phi)$')

Resumen

En este laboratorio, hemos aprendido cómo crear una superficie tridimensional con coordenadas polares utilizando la biblioteca Python Matplotlib. Comenzamos importando las bibliotecas necesarias, creamos una malla en coordenadas polares, expresamos la malla en el sistema cartesiano, graficamos la superficie y, finalmente, ajustamos los límites y agregamos etiquetas de eje.