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()
À 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"])