2013-01-17 6 views
1

Possible en double:
Set Colorbar Range in matplotlib
Defining the midpoint of a colormap in matplotlibajuster les couleurs de colorbar dans pyplot

Lorsque vous avez un colorbar en python (pyplot), il est possible d'avoir une gamme asymétrique valeurs

e.g. -4 -> 12 

mais s jusqu'à ce que la couleur blanche/neutre (généralement le point milieu de la barre de couleurs) apparaisse à 0 - même si 0 tend vers le bas de la barre de couleurs dans cet exemple?

Merci.

+1

vous ne voulez pas ajuster uniquement les limites, mais pour obtenir une palette de couleurs où vous pouvez en quelque sorte spécifier les limites et le point central? – moooeeeep

Répondre

1

Il y a plusieurs façons de procéder.

Il semble que vous souhaitiez utiliser vmin et vmax pour forcer une plage pour la barre de couleurs. Cela ressemblerait à ceci:

imshow(data, vmin=-12, vmax=12) 

Cela permettra à vos données d'avoir la plage de -4 à 12, et le centre de colorbar sera à zéro, mais le colorbar aura une durée de -12 à 12. Ceci est utile, par exemple, dans les graphiques de comparaison entre deux ensembles de données avec des plages légèrement différentes, comme dans this SO question. Par contre, si vous souhaitez que votre palette de couleurs contienne une palette de couleurs spécifique pour votre plage de données, avec des couleurs particulières correspondant à des valeurs particulières, etc., vous devrez créer votre propre palette de couleurs. C'est un problème, mais pas trop dur. Voici an example.

+0

J'ai besoin de la dernière de vos deux suggestions. Merci! – user1551817

Questions connexes