"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Normalización del mapa de colores de Matplotlib: visualización de datos no lineales

Normalización del mapa de colores de Matplotlib: visualización de datos no lineales

Publicado el 2024-11-04
Navegar:564

Introducción

Matplotlib Colormap Normalization: Visualizing Nonlinear Data

En la visualización de datos, los mapas de colores se utilizan para representar datos numéricos a través del color. Sin embargo, a veces la distribución de los datos puede ser no lineal, lo que puede dificultar el discernimiento de los detalles de los datos. En tales casos, la normalización de mapas de colores se puede utilizar para asignar mapas de colores a datos de forma no lineal para ayudar a visualizar los datos con mayor precisión. Matplotlib proporciona varios métodos de normalización, incluidos SymLogNorm y AsinhNorm, que se pueden utilizar para normalizar mapas de colores. Esta práctica de laboratorio demostrará cómo utilizar SymLogNorm y AsinhNorm para asignar mapas de colores a datos no lineales.

Consejos para máquinas virtuales

Una vez finalizado el inicio de la máquina virtual, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno para acceder a Jupyter Notebook y practicar.

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

Si tienes problemas durante el aprendizaje, no dudes en preguntarle a Labby. Envíe sus comentarios después de la sesión y resolveremos el problema de inmediato.

Importar bibliotecas requeridas

En este paso, importaremos las bibliotecas necesarias, incluidos los colores Matplotlib, NumPy y Matplotlib.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.colors as colors

Crear datos sintéticos

En este paso, crearemos un conjunto de datos sintéticos que consta de dos jorobas, una negativa y otra positiva, donde la joroba positiva tendrá una amplitud ocho veces mayor que la joroba negativa. Luego aplicaremos SymLogNorm para visualizar los datos.

def rbf(x, y):
    return 1.0 / (1   5 * ((x ** 2)   (y ** 2)))

N = 200
gain = 8
X, Y = np.mgrid[-3:3:complex(0, N), -2:2:complex(0, N)]
Z1 = rbf(X   0.5, Y   0.5)
Z2 = rbf(X - 0.5, Y - 0.5)
Z = gain * Z1 - Z2

shadeopts = {'cmap': 'PRGn', 'shading': 'gouraud'}
colormap = 'PRGn'
lnrwidth = 0.5

Aplicar SymLogNorm

En este paso, aplicaremos SymLogNorm a los datos sintéticos y visualizaremos los resultados.

fig, ax = plt.subplots(2, 1, sharex=True, sharey=True)

pcm = ax[0].pcolormesh(X, Y, Z,
                       norm=colors.SymLogNorm(linthresh=lnrwidth, linscale=1,
                                              vmin=-gain, vmax=gain, base=10),
                       **shadeopts)
fig.colorbar(pcm, ax=ax[0], extend='both')
ax[0].text(-2.5, 1.5, 'symlog')

pcm = ax[1].pcolormesh(X, Y, Z, vmin=-gain, vmax=gain,
                       **shadeopts)
fig.colorbar(pcm, ax=ax[1], extend='both')
ax[1].text(-2.5, 1.5, 'linear')

plt.show()

Aplicar norma Asinh

En este paso, aplicaremos AsinhNorm a los datos sintéticos y visualizaremos los resultados.

fig, ax = plt.subplots(2, 1, sharex=True, sharey=True)

pcm = ax[0].pcolormesh(X, Y, Z,
                       norm=colors.SymLogNorm(linthresh=lnrwidth, linscale=1,
                                              vmin=-gain, vmax=gain, base=10),
                       **shadeopts)
fig.colorbar(pcm, ax=ax[0], extend='both')
ax[0].text(-2.5, 1.5, 'symlog')

pcm = ax[1].pcolormesh(X, Y, Z,
                       norm=colors.AsinhNorm(linear_width=lnrwidth,
                                             vmin=-gain, vmax=gain),
                       **shadeopts)
fig.colorbar(pcm, ax=ax[1], extend='both')
ax[1].text(-2.5, 1.5, 'asinh')

plt.show()

Resumen

En esta práctica de laboratorio, aprendimos cómo usar SymLogNorm y AsinhNorm para asignar mapas de colores a datos no lineales. Al aplicar estos métodos de normalización, podemos visualizar los datos con mayor precisión y discernir los detalles de los datos más fácilmente.


? Practica ahora: Normalización del mapa de colores de Matplotlib


¿Quieres saber más?

  • ? Conozca los últimos árboles de habilidades de Python
  • ? Leer más tutoriales de Python
  • ? Únase a nuestro Discord o envíenos un tweet a @WeAreLabEx
Declaración de liberación Este artículo se reproduce en: https://dev.to/labex/matplotlib-colormap-normalization-visualizing-nonlinear-data-9g5?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3