A menudo, no es necesario obtener el ciclo de color predeterminado desde cualquier lugar, ya que es el predeterminado, por lo que basta con usarlo.
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()

En caso de que desee utilizar el ciclo de color predeterminado para algo diferente, existen, por supuesto, varias opciones.
mapa de colores "tab10"
Primero debe mencionarse que el "tab10"
mapa de colores comprende los colores del ciclo de color predeterminado, puede obtenerlo a través de cmap = plt.get_cmap("tab10")
.
Equivalente a lo anterior sería por tanto
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()
Colores del ciclo de color
También puede utilizar el dispositivo de ciclos de color directamente, cycle = plt.rcParams['axes.prop_cycle'].by_key()['color']
. Esto da una lista con los colores del ciclo, que puede usar para iterar.
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()
La CN
notación
Por último, la CN
notación que permite obtener la N
XX color del ciclo de color color="C{}".format(i)
. Sin embargo, esto solo funciona para los primeros 10 colores ( 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()
Todos los códigos presentados aquí producen el mismo gráfico.
lines_colour_cycle = [p['color'] for p in plt.rcParams['axes.prop_cycle']]