python种颜色循环_python-使用matplotlib创建20多种独特的图例颜色

您问题的答案与其他两个SO问题相关。

答案如何在matplotlib中为图形中的每个绘图线选择新颜色? 解释了如何定义默认的颜色列表,该列表会循环显示以选择要绘制的下一种颜色。 这是通过set_color_cycle方法完成的。

但是,您希望获得正确的颜色列表,而使用颜色映射表最容易做到这一点,如对此问题的答案所述:从matplotlib中的给定颜色映射表创建颜色生成器。 在那里,颜色图的取值范围是0到1,并返回颜色。

因此,对于您的20行,您想以1/20的步长从0循环到1。 具体来说,您希望将格式从0循环到19/20,因为1映射回0。

在此示例中完成此操作:

import matplotlib.pyplot as plt

import numpy as np

NUM_COLORS = 20

cm = plt.get_cmap('gist_rainbow')

fig = plt.figure()

ax = fig.add_subplot(111)

ax.set_color_cycle([cm(1.*i/NUM_COLORS) for i in range(NUM_COLORS)])

for i in range(NUM_COLORS):

ax.plot(np.arange(10)*(i+1))

fig.savefig('moreColors.png')

plt.show()

这是结果图:

XJtJ6.png

替代的,更好的(有争议的)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值