2012-02-22 13 views
53

¿Cómo puedo establecer un conjunto de colores predeterminado para los gráficos realizados con matplotlib? Puedo configurar un mapa de color en particular, como esta¿Cómo establecer el ciclo de color predeterminado para todas las subtramas con matplotlib?

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)]) 

pero ¿hay alguna manera de establecer el mismo conjunto de colores para todos los lotes, incluyendo los argumentos secundarios?

+0

relacionados http://stackoverflow.com/questions/4971269/how-to-pick-a-new-color-for-each-plotted-line-within-a- figura en matplotlib –

Respuesta

65

Sure! O bien specify axes.color_cycle in your .matplotlibrc file o configúrelo en tiempo de ejecución usando matplotlib.rcParams o matplotlib.rc.

Como ejemplo de este último:

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() 

enter image description here

22

partir de matplotlib 1,5, mpl.rcParams [ 'axes.color_cycle'] está en desuso. Debe utilizar axes.prop_cycle:

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