通常,不需要从任何地方获取默认颜色循环,因为它是默认的,所以只需使用它就足够了。
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
颜色循环的第 1 种颜色, 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()
此处呈现的所有代码均产生相同的图。