Oft ist es nicht erforderlich, den Standardfarbzyklus von irgendwoher abzurufen, da dies der Standardfarbzyklus ist. Daher ist es ausreichend, ihn nur zu verwenden.
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
t = np.arange(5)
for i in range(4):
line, = ax.plot(t,i*(t+1), linestyle = '-')
ax.plot(t,i*(t+1)+.3,color = line.get_color(), linestyle = ':')
plt.show()
Falls Sie wollen verwenden den Standard - Farbzyklus für etwas anderes, gibt es natürlich mehrere Möglichkeiten.
Farbkarte "tab10"
Zunächst sollte erwähnt werden, dass die "tab10"
Farbkarte die Farben aus dem Standardfarbzyklus enthält, über den Sie sie erhalten können cmap = plt.get_cmap("tab10")
.
Äquivalent zu dem oben genannten wäre daher
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
t = np.arange(5)
cmap = plt.get_cmap("tab10")
for i in range(4):
ax.plot(t,i*(t+1), color=cmap(i), linestyle = '-')
ax.plot(t,i*(t+1)+.3,color=cmap(i), linestyle = ':')
plt.show()
Farben aus dem Farbzyklus
Sie können den Farbzyklus auch direkt verwenden cycle = plt.rcParams['axes.prop_cycle'].by_key()['color']
. Dies gibt eine Liste mit den Farben aus dem Zyklus, über die Sie iterieren können.
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
t = np.arange(5)
cycle = plt.rcParams['axes.prop_cycle'].by_key()['color']
for i in range(4):
ax.plot(t,i*(t+1), color=cycle[i], linestyle = '-')
ax.plot(t,i*(t+1)+.3,color=cycle[i], linestyle = ':')
plt.show()
Die CN
Notation
Schließlich CN
erlaubt die Notation, die N
dritte Farbe des Farbzyklus zu erhalten color="C{}".format(i)
. Dies funktioniert jedoch nur für die ersten 10 Farben ( N in [0,1,...9]
)
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
t = np.arange(5)
for i in range(4):
ax.plot(t,i*(t+1), color="C{}".format(i), linestyle = '-')
ax.plot(t,i*(t+1)+.3,color="C{}".format(i), linestyle = ':')
plt.show()
Alle hier dargestellten Codes erzeugen das gleiche Diagramm.
lines_colour_cycle = [p['color'] for p in plt.rcParams['axes.prop_cycle']]