Maison > Article > développement back-end > Normalisation de la palette de couleurs Matplotlib : visualisation de données non linéaires
Dans la visualisation de données, les cartes de couleurs sont utilisées pour représenter des données numériques par la couleur. Cependant, la distribution des données peut parfois être non linéaire, ce qui peut rendre difficile la reconnaissance des détails des données. Dans de tels cas, la normalisation des palettes de couleurs peut être utilisée pour mapper les palettes de couleurs sur les données de manière non linéaire afin de faciliter une visualisation plus précise des données. Matplotlib fournit plusieurs méthodes de normalisation, notamment SymLogNorm et AsinhNorm, qui peuvent être utilisées pour normaliser les palettes de couleurs. Cet atelier montrera comment utiliser SymLogNorm et AsinhNorm pour mapper des cartes de couleurs sur des données non linéaires.
Une fois le démarrage de la VM terminé, cliquez sur le coin supérieur gauche pour passer à l'onglet Notebook afin d'accéder à Jupyter Notebook pour vous entraîner.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook termine le chargement. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.
Si vous rencontrez des problèmes lors de l'apprentissage, n'hésitez pas à demander à Labby. Fournissez vos commentaires après la session et nous résoudrons rapidement le problème pour vous.
Dans cette étape, nous importerons les bibliothèques nécessaires, notamment les couleurs Matplotlib, NumPy et Matplotlib.
import matplotlib.pyplot as plt import numpy as np import matplotlib.colors as colors
Dans cette étape, nous allons créer un ensemble de données synthétiques composé de deux bosses, une négative et une positive, la bosse positive ayant une amplitude huit fois supérieure à la bosse négative. Nous appliquerons ensuite SymLogNorm pour visualiser les données.
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
Dans cette étape, nous appliquerons SymLogNorm aux données synthétiques et visualiserons les résultats.
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()
Dans cette étape, nous appliquerons AsinhNorm aux données synthétiques et visualiserons les résultats.
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()
Dans cet atelier, nous avons appris à utiliser SymLogNorm et AsinhNorm pour mapper des cartes de couleurs sur des données non linéaires. En appliquant ces méthodes de normalisation, nous pouvons visualiser les données avec plus de précision et discerner les détails des données plus facilement.
? Entraînez-vous maintenant : normalisation de la palette de couleurs Matplotlib
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!