Nota
Haga clic aquí para descargar el código de ejemplo completo
Peinado con cicladora #
Demostración de la configuración personalizada del ciclo de propiedades para controlar los colores y otras propiedades de estilo para gráficos de líneas múltiples.
Nota
cycler
Se puede encontrar
documentación más completa de la API aquí .
Este ejemplo muestra dos API diferentes:
Configuración del parámetro rc especificando el ciclo de propiedad predeterminado. Esto afecta a todos los ejes subsiguientes (pero no a los ya creados).
Configuración del ciclo de propiedad para un solo par de ejes.
from cycler import cycler
import numpy as np
import matplotlib.pyplot as plt
Primero generaremos algunos datos de muestra, en este caso, cuatro curvas de seno desplazadas.
x = np.linspace(0, 2 * np.pi, 50)
offsets = np.linspace(0, 2 * np.pi, 4, endpoint=False)
yy = np.transpose([np.sin(x + phi) for phi in offsets])
Ahora yy
tiene forma
print(yy.shape)
(50, 4)
Entonces le dará la -ésima curva sinusoidal compensada. Establezcamos el valor predeterminado usando . Combinaremos un ciclador de color y un ciclador de estilo de línea sumando ( ) dos 's juntos. Consulte la parte inferior de este tutorial para obtener más información sobre cómo combinar diferentes cicladoras.yy[:, i]
i
prop_cycle
matplotlib.pyplot.rc()
+
cycler
default_cycler = (cycler(color=['r', 'g', 'b', 'y']) +
cycler(linestyle=['-', '--', ':', '-.']))
plt.rc('lines', linewidth=4)
plt.rc('axes', prop_cycle=default_cycler)
Ahora generaremos una figura con dos ejes, uno encima del otro. En el primer eje, trazaremos con el ciclador predeterminado. En el segundo eje, estableceremos el prop_cycle
uso matplotlib.axes.Axes.set_prop_cycle()
, que solo establecerá el prop_cycle
para esta matplotlib.axes.Axes
instancia. Usaremos un segundo cycler
que combina un ciclador de color y un ciclador de ancho de línea.
custom_cycler = (cycler(color=['c', 'm', 'y', 'k']) +
cycler(lw=[1, 2, 3, 4]))
fig, (ax0, ax1) = plt.subplots(nrows=2)
ax0.plot(yy)
ax0.set_title('Set default color cycle to rgby')
ax1.set_prop_cycle(custom_cycler)
ax1.plot(yy)
ax1.set_title('Set axes color cycle to cmyk')
# Add a bit more space between the two plots.
fig.subplots_adjust(hspace=0.3)
plt.show()
Configuración prop_cycle
en el matplotlibrc
archivo o archivos de estilo #
Recuerde, puede configurar un ciclador personalizado en su matplotlibrc
archivo o un archivo de estilo ( style.mplstyle
) en axes.prop_cycle
:
axes.prop_cycle : cycler(color='bgrcmyk')
Ciclismo a través de múltiples propiedades #
Puede agregar cicladores:
Resultados en:
{'color': 'r', 'linestyle': '-'}
{'color': 'g', 'linestyle': '--'}
{'color': 'b', 'linestyle': '-.'}
Puede multiplicar los cicladores:
Resultados en:
{'color': 'r', 'linestyle': '-'}
{'color': 'r', 'linestyle': '--'}
{'color': 'r', 'linestyle': '-.'}
{'color': 'g', 'linestyle': '-'}
{'color': 'g', 'linestyle': '--'}
{'color': 'g', 'linestyle': '-.'}
{'color': 'b', 'linestyle': '-'}
{'color': 'b', 'linestyle': '--'}
{'color': 'b', 'linestyle': '-.'}