Maison  >  Article  >  développement back-end  >  Comment définir la plage de barres de couleurs pour les cartes de couleurs personnalisées dans matplotlib ?

Comment définir la plage de barres de couleurs pour les cartes de couleurs personnalisées dans matplotlib ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 11:40:03355parcourir

How do I set the colorbar range for custom colormaps in matplotlib?

Définir la plage de la barre de couleurs pour les cartes de couleurs personnalisées

Lors de la création de tracés à l'aide de cartes de couleurs personnalisées, il est souvent souhaitable de définir la plage de la barre de couleurs indépendamment de les valeurs des données. Cela permet une interprétation cohérente des couleurs sur plusieurs tracés avec différentes plages de données.

Dans l'extrait de code fourni, la fonction pcolor utilise une palette de couleurs personnalisée définie par le dictionnaire cdict. La plage de la barre de couleurs est déterminée par les valeurs maximales et minimales du tableau de données (v) par défaut. Cependant, dans certains cas, il est nécessaire de forcer la plage de la barre de couleurs sur un intervalle spécifique, tel que 0 à 1.

Les paramètres vmin et vmax de la fonction pcolor peuvent être utilisés pour définir les valeurs minimales et maximales. pour la barre de couleurs, respectivement. En spécifiant ces valeurs, la palette de couleurs sera étirée ou compressée pour s'adapter à la plage spécifiée.

Voici un exemple mis à jour :

<code class="python">import matplotlib as m
import matplotlib.pyplot as plt
import numpy as np

cdict = {
  'red'  :  ( (0.0, 0.25, .25), (0.02, .59, .59), (1., 1., 1.)),
  'green':  ( (0.0, 0.0, 0.0), (0.02, .45, .45), (1., .97, .97)),
  'blue' :  ( (0.0, 1.0, 1.0), (0.02, .75, .75), (1., 0.45, 0.45))
}

cm = m.colors.LinearSegmentedColormap('my_colormap', cdict, 1024)

x = np.arange(0, 10, .1)
y = np.arange(0, 10, .1)
X, Y = np.meshgrid(x,y)

data = 2*( np.sin(X) + np.sin(3*Y) )

plt.pcolor(X, Y, data, cmap=cm, vmin=0, vmax=1)
plt.colorbar()
plt.show()</code>

Dans cet exemple, les paramètres vmin et vmax sont définis sur 0 et 1, respectivement. Cela force la barre de couleurs à aller de 0 à 1, quelles que soient les valeurs des données.

En spécifiant vmin et vmax, vous pouvez garantir une interprétation cohérente des couleurs sur différents tracés, même lorsque les plages de données varient. Cela peut être particulièrement utile lors de la comparaison de plusieurs ensembles de données ou lors de la création de visualisations interactives dans lesquelles la plage de données peut changer de manière dynamique.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn