3 votes

Utilisation de matplotlib pour dessiner une barre de couleur avec des couleurs discernables et non continues

La barre de couleur dans la figure ci-dessous est dessinée en matlab. Je me demande s'il est possible de dessiner une barre de couleur similaire en python/matplotlib? J'ai besoin des changements de couleur non lissés dans la barre de couleur, de sorte que les valeurs 0-5 soient représentées dans des couleurs très distinguables et non continues. Si possible, pourriez-vous me donner un exemple s'il vous plaît? Merci~

entrer la description de l'image ici

5voto

Jouni K. Seppänen Points 15129

Utilisez ListedColormap et BoundaryNorm:

import numpy as np
import matplotlib as mpl
from matplotlib import pyplot
data = np.floor(np.random.random((10,10)) * 6)
cmap = mpl.colors.ListedColormap(['w', 'b', 'g', 'y', '#ff8c00', 'r'])
norm = mpl.colors.BoundaryNorm([0,1,2,3,4,5,6], cmap.N)
pyplot.imshow(data, cmap=cmap, norm=norm, interpolation='none')
pyplot.colorbar()
pyplot.show()

Quelques exemples d'utilisation de ListedColormap: barres de couleur, lignes multicolores.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X