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.
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.
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
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
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()
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()
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
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