Coiffage avec cycleur #

Démonstration des paramètres de cycle de propriétés personnalisés pour contrôler les couleurs et autres propriétés de style pour les tracés multilignes.

Noter

Une documentation plus complète de l' cyclerAPI peut être trouvée ici .

Cet exemple illustre deux API différentes :

  1. Définition du paramètre rc spécifiant le cycle de propriétés par défaut. Cela affecte tous les axes suivants (mais pas les axes déjà créés).

  2. Réglage du cycle de propriété pour une seule paire d'axes.

from cycler import cycler
import numpy as np
import matplotlib.pyplot as plt

Nous allons d'abord générer des exemples de données, dans ce cas, quatre courbes sinusoïdales décalées.

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

A maintenant yyforme

print(yy.shape)
(50, 4)

Ainsi , vous obtiendrez la -ème courbe sinusoïdale décalée. Définissons la valeur par défaut en utilisant . Nous allons combiner un cycleur de couleurs et un cycleur de style de ligne en ajoutant ( ) deux ensembles. Voir le bas de ce didacticiel pour plus d'informations sur la combinaison de différents cycleurs.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)

Nous allons maintenant générer une figure avec deux axes, l'un au-dessus de l'autre. Sur le premier axe, nous tracerons avec le cycleur par défaut. Sur le deuxième axe, nous allons définir prop_cycleusing matplotlib.axes.Axes.set_prop_cycle(), qui ne définira que le prop_cyclepour cette matplotlib.axes.Axes instance. Nous allons utiliser un second cyclerqui combine un cycleur de couleur et un cycleur de largeur de ligne.

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()
Définir le cycle de couleur par défaut sur rgby, Définir le cycle de couleur des axes sur cmyk

Réglage prop_cycledans le matplotlibrcfichier ou les fichiers de style #

N'oubliez pas qu'un cycleur personnalisé peut être défini dans votre matplotlibrc fichier ou dans un fichier de style ( style.mplstyle) sousaxes.prop_cycle :

axes.prop_cycle : cycler(color='bgrcmyk')

Faire du vélo à travers plusieurs propriétés #

Vous pouvez ajouter des cycleurs :

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

Résulte en:

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

Vous pouvez multiplier les cycleurs :

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

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

Galerie générée par Sphinx-Gallery