Souvent, il n'est pas nécessaire d'obtenir le cycle de couleurs par défaut, car il s'agit du cycle par défaut, et il suffit donc de l'utiliser.
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()
Au cas où vous voudriez utiliser le cycle de couleurs par défaut pour quelque chose de différent, il existe bien sûr plusieurs options.
"Carte de couleurs "tab10
Il convient tout d'abord de mentionner que le "tab10"
colormap comprend les couleurs du cycle de couleurs par défaut, vous pouvez l'obtenir via cmap = plt.get_cmap("tab10")
.
L'équivalent de ce qui précède serait donc
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()
Couleurs du cycle des couleurs
Vous pouvez également utiliser directement le cycleur de couleurs, cycle = plt.rcParams['axes.prop_cycle'].by_key()['color']
. Cela donne une liste avec les couleurs du cycle, que vous pouvez utiliser pour itérer.
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()
El CN
notation
Enfin, le CN
permet d'obtenir la N
e couleur du cycle des couleurs, color="C{}".format(i)
. Ceci ne fonctionne cependant que pour les 10 premières couleurs ( 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()
Tous les codes présentés ici produisent le même graphique.