Grillas y Sombreado con Pcolormesh

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

Matplotlib es una biblioteca de visualización de datos para Python. Proporciona una variedad de herramientas para crear visualizaciones estáticas, animadas e interactivas en Python. En este laboratorio, aprenderemos a usar las funciones pcolormesh y pcolor en Matplotlib para visualizar grillas bidimensionales.

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 matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") 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-48859{{"Grillas y Sombreado con Pcolormesh"}} matplotlib/figures_axes -.-> lab-48859{{"Grillas y Sombreado con Pcolormesh"}} python/lists -.-> lab-48859{{"Grillas y Sombreado con Pcolormesh"}} python/tuples -.-> lab-48859{{"Grillas y Sombreado con Pcolormesh"}} python/importing_modules -.-> lab-48859{{"Grillas y Sombreado con Pcolormesh"}} python/numerical_computing -.-> lab-48859{{"Grillas y Sombreado con Pcolormesh"}} python/data_visualization -.-> lab-48859{{"Grillas y Sombreado con Pcolormesh"}} end

Importar las bibliotecas necesarias

Primero, debemos importar las bibliotecas necesarias, Matplotlib y NumPy, ejecutando el siguiente bloque de código:

import matplotlib.pyplot as plt
import numpy as np

Crear datos para la visualización

A continuación, crearemos una grilla bidimensional que usaremos para la visualización. Podemos crear una grilla usando la función meshgrid en NumPy. La función meshgrid crea una grilla de puntos a partir de dos vectores, x e y, que representan las coordenadas de los puntos de la grilla. Crearemos una grilla de 5x5 puntos usando el siguiente bloque de código:

nrows = 5
ncols = 5
x = np.arange(ncols + 1)
y = np.arange(nrows + 1)
X, Y = np.meshgrid(x, y)
Z = X + Y

Sombreado plano

La función pcolormesh en Matplotlib puede visualizar grillas bidimensionales. La especificación de la grilla con los menos supuestos es shading='flat' y si la grilla es una unidad más grande que los datos en cada dimensión, es decir, tiene forma (M+1, N+1). En ese caso, X e Y especifican las esquinas de los cuadriláteros que se colorean con los valores en Z. Podemos visualizar la grilla usando el siguiente bloque de código:

fig, ax = plt.subplots()
ax.pcolormesh(X, Y, Z, shading='flat', cmap='viridis')
ax.set_title('Flat Shading')
plt.show()

Sombreado plano, grilla de la misma forma

Si la grilla tiene la misma forma que los datos en cada dimensión, no podemos usar shading='flat'. Históricamente, Matplotlib eliminaba silenciosamente la última fila y columna de Z en este caso, para coincidir con el comportamiento de Matlab. Si todavía se desea este comportamiento, simplemente elimine manualmente la última fila y columna. Podemos visualizar la grilla usando el siguiente bloque de código:

fig, ax = plt.subplots()
ax.pcolormesh(x, y, Z[:-1, :-1], shading='flat', cmap='viridis')
ax.set_title('Flat Shading, Same Shape Grid')
plt.show()

Sombreado más cercano, grilla de la misma forma

Por lo general, eliminar una fila y una columna de datos no es lo que el usuario quiere decir cuando hace que X, Y y Z tengan todas la misma forma. Para este caso, Matplotlib permite shading='nearest' y centra los cuadriláteros coloreados en los puntos de la grilla. Si se pasa una grilla que no tiene la forma correcta con shading='nearest', se produce un error. Podemos visualizar la grilla usando el siguiente bloque de código:

fig, ax = plt.subplots()
ax.pcolormesh(X, Y, Z, shading='nearest', cmap='viridis')
ax.set_title('Nearest Shading, Same Shape Grid')
plt.show()

Sombreado automático

Es posible que el usuario desee que el código elija automáticamente cuál usar. En este caso, shading='auto' decidirá si usar el sombreado flat o nearest en función de las formas de X, Y y Z. Podemos visualizar la grilla usando el siguiente bloque de código:

fig, ax = plt.subplots()
ax.pcolormesh(x, y, Z, shading='auto', cmap='viridis')
ax.set_title('Auto Shading')
plt.show()

Sombreado Gouraud

También se puede especificar el sombreado Gouraud, donde el color en los cuadriláteros se interpola linealmente entre los puntos de la grilla. Las formas de X, Y y Z deben ser las mismas. Podemos visualizar la grilla usando el siguiente bloque de código:

fig, ax = plt.subplots()
ax.pcolormesh(X, Y, Z, shading='gouraud', cmap='viridis')
ax.set_title('Gouraud Shading')
plt.show()

Resumen

En este laboratorio, aprendimos cómo usar las funciones pcolormesh y pcolor en Matplotlib para visualizar grillas bidimensionales. Aprendimos sobre diferentes opciones de sombreado, incluyendo flat, nearest, auto y gouraud. También aprendimos cómo crear una grilla bidimensional usando la función meshgrid en NumPy.