web-dev-qa-db-fra.com

Comment définir la palette de couleurs par défaut dans Matplotlib

Surtout lorsque vous travaillez avec des images en niveaux de gris, il est fastidieux de définir la palette de couleurs pour chaque commande imshow sur imshow(i, cmap='gray'). Comment définir la carte de couleurs par défaut utilisée par matplotlib en niveaux de gris ou toute autre palette de couleurs?

16
Jarno

Pour modifier la palette de couleurs par défaut uniquement pour la session interactive en cours ou un script, utilisez 

import matplotlib as mpl
mpl.rc('image', cmap='gray')

Pour les versions de matplotlib antérieures à 2.0, vous devez utiliser le dict de rcParams. Cela fonctionne toujours dans les versions les plus récentes.

import matplotlib.pyplot as plt
plt.rcParams['image.cmap'] = 'gray'

Pour modifier la palette de couleurs par défaut, éditez définitivement le fichier de configuration matplotlibrc et ajoutez la ligne image.cmap: gray. Remplacez la valeur grey par une autre table de couleurs valide en fonction de vos besoins. Le fichier de configuration devrait être à ~/.config/matplotlib/matplotlibrc, mais vous pouvez trouver l’emplacement exact avec

mpl.matplotlib_fname()

Ceci est particulièrement utile si vous avez plusieurs versions de matplotlib dans différents environnements virtuels.

Voir aussi http://txt.arboreus.com/2014/10/21/how-to-set-default-colormap-in-matplotlib.html Et la configuration générale de Matplotlib http: //matplotlib.org/users/customizing.html

23
Jarno

Vous pouvez faire soit,

plt.set_cmap('jet')

ou

plt.rcParams['image.cmap']='jet'

Toutefois, notez que si vous transmettez une valeur pour le paramètre color dans l'une des API, cette valeur par défaut sera ignorée. Dans ce cas, vous devriez faire quelque chose comme ceci:

color = plt.cm.hsv(r) # r is 0 to 1 inclusive
line = matplotlib.lines.Line2D(xdata, ydata, color=color)
0
Shital Shah