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

cyclerSe puede encontrar documentación más completa de la API aquí .

Este ejemplo muestra dos API diferentes:

  1. 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).

  2. 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 yytiene 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]iprop_cyclematplotlib.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_cycleuso matplotlib.axes.Axes.set_prop_cycle(), que solo establecerá el prop_cyclepara esta matplotlib.axes.Axes instancia. Usaremos un segundo cyclerque 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()
Establezca el ciclo de color predeterminado en rgby, establezca el ciclo de color de los ejes en cmyk

Configuración prop_cycleen el matplotlibrcarchivo 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:

from cycler import cycler
cc = (cycler(color=list('rgb')) +
      cycler(linestyle=['-', '--', '-.']))
for d in cc:
    print(d)

Resultados en:

{'color': 'r', 'linestyle': '-'}
{'color': 'g', 'linestyle': '--'}
{'color': 'b', 'linestyle': '-.'}

Puede multiplicar los cicladores:

from cycler import cycler
cc = (cycler(color=list('rgb')) *
      cycler(linestyle=['-', '--', '-.']))
for d in cc:
    print(d)

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': '-.'}

Galería generada por Sphinx-Gallery