matplotlib色彩(colors)之图表数据系列默认配色(默认色彩循环)

本文详细解析了matplotlib库的默认配色方案,包括默认色彩循环Cn的定义和工作原理。通过三个实验展示了当不指定颜色时,matplotlib如何为多个数据系列分配颜色。默认色彩循环由rcParams['axes.prop_cycle']定义,包含10种颜色,超过10个数据系列会循环使用这10种颜色。实验验证了这一行为,并对比了TABLEAU_COLORS与默认颜色的对应关系。

很多人诟病matplotlib配色老套,那matplotlib默认的配色方案是什么?为什么没有设置颜色,图表数据系列显示的还有颜色?这也可能是最容易忽视的地方!

默认色彩循环

《matplotlib色彩(colors)之色彩基础知识》提到,默认色彩循环,Cn彩色定义由字符串C和1个非负整数构成,数字为默认色彩循环rcParams["axes.prop_cycle"]的索引,
rcParams["axes.prop_cycle"] (default: cycler('color', ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']))数字超过9,对应的颜色索引为数字个位数索引,例如C101C1的取值相同。注意C必须为大写。

matplotlib大部分绘图函数、方法的颜色属性默认指向默认色彩循环,不同数据系列有不同颜色,超过10个数据系列,颜色则在这个10种颜色中循环使用。我们常常绘制的图表只有一个数据系列,因此,图表中的数据系列往往是蓝色。

下面以plot方法为例做几个实验来进行验证:

实验1

绘制了一条直线,根据直线的属性可知线条颜色为#1f77b4

i
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值