J'essaie d'utiliser imshow dans matplotlib pour tracer des données sous forme de carte thermique, mais certaines des valeurs sont des NaN. Je voudrais que les NaN soient rendus comme une couleur spéciale introuvable dans la palette de couleurs.
exemple:
import numpy as np
import matplotlib.pyplot as plt
f = plt.figure()
ax = f.add_subplot(111)
a = np.arange(25).reshape((5,5)).astype(float)
a[3,:] = np.nan
ax.imshow(a, interpolation='nearest')
f.canvas.draw()
L'image résultante est de façon inattendue entièrement bleue (la couleur la plus basse de la palette de couleurs du jet). Cependant, si je fais le tracé comme ceci:
ax.imshow(a, interpolation='nearest', vmin=0, vmax=24)
- alors j'obtiens quelque chose de mieux, mais les valeurs NaN sont dessinées de la même couleur que vmin ... Y a-t-il une manière gracieuse de définir les NaN à dessiner avec une couleur spéciale (par exemple: gris ou transparent)?
matplotlib.__version__=='1.2.1'
), cela fonctionne sans problème.