爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8088|回复: 0

[经验总结] 寻找一组【视觉区分度】大的颜色

[复制链接]

新浪微博达人勋

发表于 2022-9-27 20:16:14 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
1、需求缘起

我们画图的时候,经常要画【多折线图】:

多折线图.png

Excel会自动为每条折线配色,
如果用matplotlib来画:plt.plot(a,b);plt.plot(c,d);plt.plot(e,f),你不设置颜色,也会自动配色的。

但很多时候,我们希望自己控制配色,而且颜色区分度越大越好。

2、一个失败想法

一开始,我想从matplotlib内置的色条中提取颜色,
比如,我有7条折线,那就等间隔地在色条上提取颜色,

但是,通过观察matplotlib的色条,发现其实每个色条也就三五种颜色,其余部分只是过渡色而已!

matplotlib内置色条

像gist_rainbow色条的颜色:

gist_rainbow色条.png

它由红、黄、绿、蓝、紫5种颜色组成。绿色范围很多,如果折线有10个,必然有2个同是绿色。

3、自定义一组【独特颜色】

通过查看 Matplotlib颜色对照表 我自定义了以下颜色:

colors=['red','green','blue','black','magenta',
'orange','gold','chocolate','tan','olive',
'yellow','turquoise','deepskyblue',
'dodgerblue','blueviolet','deeppink']

这些颜色尽量扩大了视觉区分度,最常用的红、绿、蓝、黑、紫、橙放在前面。

互斥色.png

将颜色的十六进制颜色也包含进来,写成字典:


{'red':'#FF0000',
'green':'#008000',
'blue':'#0000FF',
'black':'#000000',
'magenta':'#FF00FF',
'orange':'#FFA500',
'gold':'#FFD700',
'chocolate':'#D2691E',
'tan':'#D2B48C',
'olive':'#808000',
'yellow':'#FFFF00',
'turquoise':'#40E0D0',
'deepskyblue':'#00BFFF',
'dodgerblue':'#1E90FF',
'blueviolet':'#8A2BE2',
'deeppink':'#FF1493'}











密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表