很多人诟病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

import matplotlib.pyplot as pltline = plt.plot([1, 1])
c = line[0].get_color()
plt.annotate(c, (0, 1))
plt.show()

实验2

绘制了20条直线,输出了直线的颜色,根据输出可知:前10条直线和后面10条直线的颜色是循环重复的。

import matplotlib.pyplot as pltfor i in range(20):line = plt.plot([i, i])c = line[0].get_color()plt.annotate(repr(i) + ":"+c, (0, i+0.1))
plt.show()

实验3

输出TABLEAU_COLORS可知,其颜色的取值与rcParams["axes.prop_cycle"]、上面实验中线条的默认颜色是一一致的。

import matplotlib.pyplot as plt
import matplotlib.colors as mcolorstab10 = mcolors.TABLEAU_COLORS
for i,j in enumerate(tab10):plt.plot([i, i], c=j)plt.annotate(j+":"+tab10[j], (0, i+0.1))
plt.show()

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

  1. 图表添加特定横轴数据_Excel图表学习61: 编写一个给多个数据系列添加趋势线的加载宏...

    学习Excel技术,关注微信公众号: excelperfect 在<Excel图表学习60:给多个数据系列添加趋势线>中,我们手工给多个散点图系列添加了一条趋势线,如下图1所示. 图1 在 ...

  2. word中插入图表改变数据系列产生在行或列

    一.插入图表 选择[插入]→[图表],选择图表类型,这里选择簇状柱形图. 二.编辑数据 在图表上点击右键,选择[编辑数据]→[在Excel中编辑数据] 三.修改数据产生的系列 1.点击图表旁边的&qu ...

  3. oracle group by 多类别_python数据关系型图表散点图系列多数据系列

    多数据系列 多数据系列的散点图需要使用不同的填充颜色(fill)和数据点形状(shape)这两个视觉特征来表示数据系列: 绘制多数据系列散点图 多数据系列散点图就是在单数据系列上添加新的数据系列:使用 ...

  4. Python数据可视化matplotlib(一)—— 图表的基本元素

    Python数据可视化matplotlib(一)-- 图表的基本元素 图表创建 plt.show() # 图表窗口1 → plt.show()plt.plot(np.random.rand(10)) ...

  5. php 图表教程,TeeChart for PHP教程(一):构建图表并填充数据系列

    TeeChart for PHP包含100%的PHP源代码.它支持PHP5及更高的版本.它可作为一个调色板组件整合到针对PHP的Delphi编程环境中,从而让其他人在运行时以创建组件的方式来引用.第一 ...

  6. 删除图表中的数据系列:Excel图表学习记第7课

    如果你在 Excel 中为表格数据创建了图表之后,却发现图表中的某些系列我们并不需要,怎么办?根据需要重新创建一个图表么?用不着这么麻烦,汪琪老师觉得,不需要的直接从图表中删掉就好啦!虽然删除图表中数 ...

  7. Vue 之 echarts 图表数据可视化的基础使用(简单绘制各种图表、地图)

    Vue 之 echarts 图表数据可视化的基础使用(简单绘制各种图表.地图) 目录 Vue 之 echarts 图表数据可视化的基础使用(简单绘制各种图表.地图) 一.简单介绍 二.环境搭建 三.使 ...

  8. Cris 玩转大数据系列之日志收集神器 Flume

    Cris 玩转大数据系列之日志收集神器 Flume Author:Cris 文章目录 Cris 玩转大数据系列之日志收集神器 Flume Author:Cris 1. Flume 概述 1.1 什么是 ...

  9. Python数据系列(四)- 数组array-NumPy:Python的“运算加速氮气”

    本系列要对Python在数据处理中经常用的列表(list).元组(tuple).字典(dictionary).array(数组)-numpy.DataFrame-pandas .集合(set)等数据形 ...

  10. webbrowser控件 有数据 但页面空白_如何在Excel中实现可以切换不同数据系列的滚珠图?...

    ▲更多精彩内容,请点击上方Excel小铲子▲ 操作系统版本 Windows 10 64位 Excel版本 Microsoft Excel 2016 64位 案例文档下载 链接:https://pan. ...

最新文章

  1. css 不展示滚动条,CSS-界面滚动时不显示滚动条
  2. 进一步认识golang中的并发
  3. 吃透Java中的动态代理
  4. android Android项目构建过程
  5. kotlin android获取按钮,Kotlin 实现按钮点击跳转监听事件方式
  6. C++ —— C++数据类型
  7. fiddler使用_fiddler使用教程
  8. 解决pandas不计算/不保存运算结果/数值不变的问题
  9. 索引与其内部数据结构
  10. Region使用全解
  11. avast注册号|好用的avast注册号|没过期avast注册号
  12. java三元运算符_java三元运算符详解
  13. 查看 Visio 是否激活以及激活方法
  14. 微信开发高级群发接口
  15. vim插件管理利器:pathogen
  16. 计算机科学与技术单身率,中国大陆男女比例揭晓!大学单身率专业十强来了
  17. 提莫攻击 findPoisonedDuration
  18. 传奇开区发布广告和选择广告投放网站的那些事
  19. HDU4598 Difference(差分约束)
  20. 计算机网络相关论文目录怎么弄,如何给你的标书、论文编页码和目录-论文页码设置...

热门文章

  1. Markdown书写软件Typora的使用--图片上传(PicGo与Github/Gitee)及排版
  2. 程序人生 - 农夫山泉、恒大冰泉、怡宝等矿泉水品牌的产品有哪些区别?
  3. 史上最全 | 室外大规模3D检测数据集汇总
  4. 微博技术架构分析和设计
  5. 禾瘦美学馆,不是谁NB谁做,是谁开店谁NB
  6. 计算机考研需要分数线,计算机考研分数线是多少?
  7. win10怎么更新显卡驱动_如何禁止win10自动更新显卡驱动
  8. 开发一个 app 有多难?
  9. 游戏外挂开发原理初探——植物大战僵尸内存挂为例
  10. malloc 是如何分配内存的?