Notiz
Klicken Sie hier , um den vollständigen Beispielcode herunterzuladen
Stylen mit Cycler #
Demo von benutzerdefinierten Eigenschaftszykluseinstellungen zum Steuern von Farben und anderen Stileigenschaften für mehrzeilige Diagramme.
Notiz
Eine vollständigere Dokumentation der cycler
API finden Sie
hier .
Dieses Beispiel zeigt zwei verschiedene APIs:
Festlegen des rc-Parameters, der den standardmäßigen Eigenschaftszyklus angibt. Dies wirkt sich auf alle nachfolgenden Achsen aus (jedoch nicht auf bereits angelegte Achsen).
Festlegen des Eigenschaftszyklus für ein einzelnes Achsenpaar.
from cycler import cycler
import numpy as np
import matplotlib.pyplot as plt
Zuerst generieren wir einige Beispieldaten, in diesem Fall vier versetzte Sinuskurven.
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])
Hat jetzt yy
Form
print(yy.shape)
(50, 4)
So erhalten Sie die -te Offset-Sinuskurve. Lassen Sie uns die Standardeinstellung mit festlegen . Wir kombinieren einen Color Cycler und einen Linestyle Cycler, indem wir ( ) zwei zusammenfügen. Weitere Informationen zum Kombinieren verschiedener Cycler finden Sie weiter unten in diesem Tutorial.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)
Jetzt erzeugen wir eine Figur mit zwei Achsen, eine über der anderen. Auf der ersten Achse zeichnen wir mit dem Standard-Cycler. Auf der zweiten Achse setzen wir prop_cycle
using matplotlib.axes.Axes.set_prop_cycle()
, wodurch nur prop_cycle
für diese matplotlib.axes.Axes
Instanz gesetzt wird. Wir verwenden einen zweiten cycler
, der einen Farb-Cycler und einen Linienbreiten-Cycler kombiniert.
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()
Einstellung prop_cycle
in der matplotlibrc
Datei oder Style-Dateien #
Denken Sie daran, dass ein benutzerdefinierter Cycler in Ihrer matplotlibrc
Datei oder einer Style-Datei ( style.mplstyle
) unter eingestellt werden kann axes.prop_cycle
:
axes.prop_cycle : cycler(color='bgrcmyk')
Durch mehrere Eigenschaften radeln #
Sie können Cycler hinzufügen:
Ergebnisse in:
{'color': 'r', 'linestyle': '-'}
{'color': 'g', 'linestyle': '--'}
{'color': 'b', 'linestyle': '-.'}
Sie können Cycler multiplizieren:
Ergebnisse in:
{'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': '-.'}