如何阻止Matplotlib重复颜色?

时间:2018-11-08 00:04:27

标签: python matplotlib plot

我有此代码:

if project == "x":
    self.do_that = types.MethodType(rules.work_on_x.do_that, self)
    self.do_this = types.MethodType(rules.work_on_x.do_this, self)

这是使用plist = ['p5', 'p14', 'p23', 'p32', 'p41', 'p50', 'p59', 'p68', 'p77', 'p85', 'p95'] for pltcount in range(len(plist)): plt.plot(data1[pltcount], np.exp(data2)[pltcount], marker='o', label=str(plist[pltcount])) plt.legend() plt.show() 来使绘图变得更好。我找到了手动分配颜色的示例。如果我希望它是自动的并且来自一些知名的调色板,该怎么办?

{{3}}

1 个答案:

答案 0 :(得分:2)

彩虹的颜色怎么样?此处的关键是使用ax.set_prop_cycle为每行分配颜色。

NUM_COLORS = len(plist)

cm = plt.get_cmap('gist_rainbow')
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_prop_cycle('color', [cm(1.*i/NUM_COLORS) for i in range(NUM_COLORS)])
# Or,
# ax.set_prop_cycle(color=[cm(1.*i/NUM_COLORS) for i in range(NUM_COLORS)])
for i, p in enumerate(plist):
    ax.plot(data1[i], np.exp(data2)[i], marker='o', label=str(p))

plt.legend()
plt.show()

Borrowed from here。其他选项可能。