Часто нет необходимости получать цветовой цикл по умолчанию откуда угодно, так как он является стандартным, поэтому достаточно его просто использовать.
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()
Если вы хотите использовать цветовой цикл по умолчанию для чего-то другого, есть, конечно, несколько вариантов.
палитра tab10
Прежде всего следует упомянуть, что "tab10"
палитра включает цвета из цветового цикла по умолчанию, вы можете получить ее через cmap = plt.get_cmap("tab10")
.
Следовательно, эквивалентным вышеизложенному будет
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()
Цвета из цветового цикла
Вы также можете напрямую использовать палитру цветов cycle = plt.rcParams['axes.prop_cycle'].by_key()['color']
. Это дает список цветов из цикла, который вы можете использовать для перебора.
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()
CN
нотация
Наконец, CN
обозначение позволяет получить N
й цвет цикла цвета, color="C{}".format(i)
. Однако это работает только для первых 10 цветов ( 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()
Все коды, представленные здесь, дают одинаковый график.
lines_colour_cycle = [p['color'] for p in plt.rcParams['axes.prop_cycle']]