一文搞懂matplotlib中的颜色设置

欢迎关注”生信修炼手册”!
在matplotlib中,颜色设置有如下多种方式

1. 经常使用颜色的字母表示及缩写web

最经常使用的颜色表示方法,有如下几种经常使用颜色数据库

1. red,表示红色,  简写为r微信

2. green, 表示绿色,简写为gapp

3. blue,表示蓝色,简写为bless

4. yellow,表示黄色,简写为y编辑器

5. cyan,表示蓝绿色,简写为c 学习

6. magenta,表示粉紫色,简写为mflex

7. black,表示黑色,简写为k网站

8. white,表示白色,简写为w编码

上述颜色和缩写的图例以下

2. T10调色盘

在matplotlib中,默认的颜色盘经过参数rcParams["axes.prop_cycle"]参数来指定, 初始的调色盘就是T10调色盘。

T10调色盘适用于离散分类,其颜色名称以tab:为前缀,具体的包含了如下10种颜色

1. tab:blue

2. tab:orange

3. tab:green

4. tab:red

5. tab:purple

6. tab:brown

7. tab:pink

8. tab:gray

9. tab:olive

10. tab:cyan

图例以下

在matplotlib中,默认就是经过这个T10调色盘来个不一样的label上色的,代码以下

plt.pie(x=[1,1,1,1,1,1,1,1,1,1])
输出结果以下

3. CN式写法

CN式写法以字母C为前缀,后面加从0开始的数字索引,其索引的对象为rcParams["axes.prop_cycle"]指定的调色盘,因此默认状况下,下列写法和T10调色盘的输出彻底一致

plt.pie(x=[1,1,1,1,1,1,1,1,1,1],colors=['C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8', 'C9'])

输出结果以下

当咱们修改调色盘时,CN式写法对应的颜色也会发生变化,代码以下

import matplotlib as mpl
from cycler import cycler
mpl.rcParams['axes.prop_cycle'] = cycler(color=['r', 'g', 'b', 'y', 'c', 'm', 'k'])
plt.pie(x=[1,1,1,1,1,1,1], colors=['C0','C1', 'C2', 'C3', 'C4', 'C5', 'C6'])

输出结果以下

4. xkcd颜色名称

xkcd调色盘是经过对上万名参与者进行调查而总结出的954种最经常使用的颜色,官方网站以下

https://xkcd.com/color/rgb/

在matplotlib中,经过xkcd:前缀加对应的颜色名称进行使用,并且是不区分大小写的,代码以下

plt.pie(x=[1,2,3,4], colors=['xkcd:blue','xkcd:orange','xkcd:green','xkcd:red'])

输出结果以下

5. X11/CSS4颜色名称

X11系列颜色经过名称来对应具体的颜色编码,后来的CSS颜色代码也是在其基础上发展而来,部分颜色示意如

在matplotlib中,X11/CSS4相关的颜色名称和十六进制编码存储在一个字典中,能够经过如下方式进行查看

import matplotlib._color_data as mcd
for key in mcd.CSS4_COLORS:
    print('{}: {}'.format(key, mcd.CSS4_COLORS[key]))

部分结果以下

'aliceblue': '#F0F8FF',
'antiquewhite': '#FAEBD7',
'aqua': '#00FFFF',
'aquamarine': '#7FFFD4',
'azure': '#F0FFFF',
'beige': '#F5F5DC',
'bisque': '#FFE4C4',
'black': '#000000',
'blanchedalmond': '#FFEBCD',
'blue': '#0000FF',
'blueviolet': '#8A2BE2',

经过颜色名称来使用X11/CSS4颜,用法以下

plt.pie(x=[1,2,3,4], colors=['aliceblue','antiquewhite','aqua','aquamarine'])

输出结果以下

6. 十六进制颜色代码

十六进制的颜色代码能够精确的指定颜色,在matplotlib中固然也支持,用法以下

plt.pie(x=[1,2,3,4], colors=['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728'])

输出结果以下

7. RGB/RGBA元组

全部的颜色都是有RGB三原色构成,在matplotlib中,能够经过一个元组来表示表示red, green, blue三原色的比例,以及一个可选的alpha值来表示透明度,取值范围都是0到1,用法以下

plt.pie(x=[1,2,3,4], colors=[(0.1, 0.2, 0.5),(0.1, 0.3, 0.5),(0.1, 0.4, 0.5),(0.1, 0.5, 0.5)])

输出结果以下

8. 灰度颜色

在matplotlib中,经过0到1之间的浮点数来对应灰度梯度,在使用时,为了有效区分,须要经过引号将其装换为字符,用法以下

plt.pie(x=[1,2,3,4], colors=['0','0.25', '0.5', '0.75'])

输出结果以下

经过上述几种方式,能够灵活地指定咱们须要的颜色。

·end·

—若是喜欢,快分享给你的朋友们吧—



原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让咱们一块儿并肩做战!
本公众号深耕耘生信领域多年,具备丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有须要的老师和同窗前来咨询。
  更多精彩



  写在最后


转发本文至朋友圈,后台私信截图便可加入生信交流群,和小伙伴一块儿学习交流。


扫描下方二维码,关注咱们,解锁更多精彩内容!


一个只分享干货的

生信公众号




本文分享自微信公众号 - 生信修炼手册(shengxinxiulian)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索