Je veux utiliser la palette de couleurs "viridis" ( http://bids.github.io/colormap/ ), et je ne mettrai pas encore à jour la version de développement 1.5. Ainsi, j'ai téléchargé colormaps.py
de https://github.com/BIDS/colormap . Malheureusement, je ne suis pas en mesure de le faire fonctionner. C'est ce que je fais:
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import colormaps as cmaps
img=mpimg.imread('stinkbug.png')
lum_img = np.flipud(img[:,:,0])
plt.set_cmap(cmaps.viridis)
imgplot = plt.pcolormesh(lum_img)
Cela me donne un ValueError
, le retraçage se terminant par,
ValueError: Colormap viridis n'est pas reconnu. Les valeurs possibles sont: Spectral, summer, coolwarm, ...
(Et puis la liste complète des cartes de couleurs installées à l'origine.)
Des réflexions sur la façon de résoudre ce problème?
Pour définir viridis
comme votre palette de couleurs à l'aide de set_cmap
, vous devez d'abord l'enregistrer:
import colormaps as cmaps
plt.register_cmap(name='viridis', cmap=cmaps.viridis)
plt.set_cmap(cmaps.viridis)
img=mpimg.imread('stinkbug.png')
lum_img = np.flipud(img[:,:,0])
imgplot = plt.pcolormesh(lum_img)
Plutôt que d'utiliser set_cmap
, qui nécessite un matplotlib.colors.Colormap
instance, vous pouvez définir cmap
directement dans l'appel pcolormesh
(cmaps.viridis
est un matplotlib.colors.ListedColormap
)
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import colormaps as cmaps
img=mpimg.imread('stinkbug.png')
lum_img = np.flipud(img[:,:,0])
imgplot = plt.pcolormesh(lum_img, cmap=cmaps.viridis)
J'ai simplement copié le
_viridis_data = [[0.267004, 0.004874, 0.329415],
[0.268510, 0.009605, 0.335427],
[0.269944, 0.014625, 0.341379],
:
[0.983868, 0.904867, 0.136897],
[0.993248, 0.906157, 0.143936]]
de https://github.com/BIDS/colormap/blob/master/colormaps.py
et ajouter:
from matplotlib.colors import ListedColormap
viridis = ListedColormap(_viridis_data, name='viridis')
plt.register_cmap(name='viridis', cmap=viridis)
plt.set_cmap(viridis)
Téléchargez le colormaps.py depuis ici , puis:
import os,sys
scriptpath = "/Your downloading path/colormap-master/"
sys.path.append(os.path.abspath(scriptpath))
import colormaps as cmaps
Terminé!