Contourf y escala de colores logarítmica

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

En este laboratorio, aprenderemos a usar la función contourf en Matplotlib para crear gráficos de contorno rellenos con una escala de colores logarítmica. Usaremos un conjunto de datos con valores positivos y negativos para demostrar esta característica.

Consejos sobre la VM

Una vez finalizada la inicialización de 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 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 su retroalimentación después de la sesión y resolveremos el problema para usted de inmediato.

Importar las bibliotecas necesarias

Necesitamos importar las siguientes bibliotecas:

  • matplotlib.pyplot para crear gráficos y visualizaciones
  • numpy para generar el conjunto de datos
import matplotlib.pyplot as plt
import numpy as np

Generar el conjunto de datos

Generaremos un conjunto de datos con valores positivos y negativos usando numpy:

N = 100
x = np.linspace(-3.0, 3.0, N)
y = np.linspace(-2.0, 2.0, N)

X, Y = np.meshgrid(x, y)

## Una pequeña protuberancia con una punta saliendo.
## Necesita tener el eje z/color en una escala logarítmica, para que veamos tanto la protuberancia como la punta.
## Una escala lineal solo muestra la punta.
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X * 10)**2 - (Y * 10)**2)
z = Z1 + 50 * Z2

## Ponga algunos valores negativos (esquina inferior izquierda) para causar problemas con los logs:
z[:5, :5] = -1

## Lo siguiente no es estrictamente esencial, pero eliminará
## una advertencia.  Coméntelo para ver la advertencia.
z = ma.masked_where(z <= 0, z)

Crear el gráfico

Usaremos la función contourf para crear un gráfico de contorno relleno con una escala de colores logarítmica:

fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r)

cbar = fig.colorbar(cs)

plt.show()

Personalizar el gráfico

Podemos personalizar el gráfico agregando etiquetas, títulos y cambiando la paleta de colores:

fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.coolwarm)

ax.set_title('Contourf Plot with Log Color Scale')
ax.set_xlabel('Eje X')
ax.set_ylabel('Eje Y')

cbar = fig.colorbar(cs)

plt.show()

Resumen

En este laboratorio, aprendimos cómo usar la función contourf en Matplotlib para crear gráficos de contorno rellenos con una escala de colores logarítmica. También aprendimos cómo personalizar el gráfico agregando etiquetas, títulos y cambiando la paleta de colores.