用python的matplotlib画图的时候,无论我们画的是线形图、散点图还是柱状图, 我们都需要为图片设置颜色。因此,了解matplotlib的内置颜色设置尤为重要。

1.基本颜色

Matplotlib中最常用的颜色有以下八种,其字母表示、缩写及图例如下:

颜色 字母 缩写
红色 red r
绿色 green g
蓝色 blue b
黄色 yellow y
蓝绿色 cyan c
粉紫色 magenta m
黑色 black k
白色 white w

2.T10调色盘

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

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

颜色 颜色 颜色 颜色 颜色
tab:blue tab:orange tab:green tab:red tab:purple
tab:brown tab:pink tab:gray tab:olive tab:cyan

3.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'])

4.X11/CSS4颜色名称

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

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'])

5.十六进制颜色代码

十六进制的颜色代码可以精确的指定颜色,在matplotlib中当然也支持,用法及图例如下:

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

6.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)])

7.灰度颜色

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

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

8. Python Color Constants Module

网站: https://www.webucator.com/article/python-color-constants-module/

该网页提供了一些常用颜色。

通过上述几种方式,可以灵活地指定我们需要的颜色。

参考资源

[1] 一文搞懂matplotlib中的颜色设置
[2] python中matplotlib中内置的颜色名称列表
[3] List of named colors

来源:半月夏微凉

物联沃分享整理
物联沃-IOTWORD物联网 » Matplotlib颜色设置

发表评论