我已经看到了几个类似的问题,但没有一个能回答我的确切问题,所以请在标记之前加以承认。
我必须在图表上绘制n行。 n的标准值是10,但它可以变化。以前,我用过
ax.set_color_cycle([plt.cm.Accent(i) for i in np.linspace(0, 1, limit)])
对我来说效果很好。
但是,这种方法最近已经贬值了,我的程序也提出警告,使用set_prop_cycle
我无法在文档http://matplotlib.org/api/axes_api.html中找到任何符合我需要的示例,例如使用重点或热门或酷等颜色条。
更新
测试示例代码:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
limit=10
ax.set_color_cycle([plt.cm.Accent(i) for i in np.linspace(0, 1, limit)])
for limit in range(1,limit+1):
x=np.random.randint(10, size=10)
y=limit*x
plt.plot(x,y,lw=2, label=limit)
plt.legend(loc='best')
问题是如何使用色彩图在颜色或排序的不同色调之间进行选择? http://matplotlib.org/users/colormaps.html
答案 0 :(得分:1)
您需要稍微不同的公式才能使用更通用的set_prop_cycle
。您必须使用'color'
为参数plt.cycler
创建一个循环器,其余的就像您之前一样:
import matplotlib.pyplot as plt
import numpy as np
limit=10
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_prop_cycle(plt.cycler('color', plt.cm.Accent(np.linspace(0, 1, limit))))
for limit in range(1,limit+1):
x=np.random.randint(10, size=10)
y=limit*x
plt.plot(x,y,lw=2, label=limit)
plt.legend(loc='best')