Comment définir le cycle de couleur par défaut pour toutes les sous-plots avec matplotlib?

Comment définir un ensemble de couleurs par défaut pour les plots réalisées avec Matplotlib? Je peux définir une carte de couleur particulière comme celle-ci

import numpy as np import matplotlib.pyplot as plt fig=plt.figure(i) ax=plt.gca() colormap = plt.get_cmap('jet') ax.set_color_cycle([colormap(k) for k in np.linspace(0, 1, 10)]) 

mais existe-t-il un moyen de définir le même jeu de couleurs pour tous les tracés, y compris les sous-tracés?

Sûr! Spécifiez axes.color_cycle dans votre fichier .matplotlibrc ou définissez-le à l’exécution en utilisant matplotlib.rcParams ou matplotlib.rc .

A titre d’exemple de ce dernier:

 import matplotlib.pyplot as plt import matplotlib as mpl import numpy as np # Set the default color cycle mpl.rcParams['axes.color_cycle'] = ['r', 'k', 'c'] # Alternately, we could use rc: # mpl.rc('axes', color_cycle=['r','k','c']) x = np.linspace(0, 20, 100) fig, axes = plt.subplots(nrows=2) for i in range(10): axes[0].plot(x, i * (x - 10)**2) for i in range(10): axes[1].plot(x, i * np.cos(x)) plt.show() 

entrer la description de l'image ici

À partir de matplotlib 1.5, mpl.rcParams [‘axes.color_cycle’] est obsolète. Vous devriez utiliser axes.prop_cycle:

 import matplotlib as mpl mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "#e94cdc", "0.7"])