详解matplotlib的color配置

news2024/12/23 5:35:30

详解matplotlib的color配置

Matplotlib可识别的color格式

格式举例
RGB或RGBA,由[0, 1]之间的浮点数组成的元组,分别代表红色、绿色、蓝色和透明度(0.1, 0.2, 0.5), (0.1, 0.2, 0.5, 0.3
不区分大小写的十六进制RGB或RGBA字符串。‘#0f0f0f’, ‘#0f0f0f80’
不区分大小写的RGB或RGBA字符串等效的十六进制缩写重复字符。‘#abc’ 等于 ‘#aabbcc’
对于灰度值,浮点值在闭合区间[0,1]中的字符串表示形式。‘0’ 表示黑色,‘1’表示白色,‘0.8’表示浅灰色
一些基本颜色的单字符简写符号。‘b’表示蓝色
不区分大小写的X11/CSS4颜色名称,不包含空格。‘aquamarine’
使用前缀’xkcd:'进行xkcd颜色调查,颜色名称不区分大小写。‘xkcd:sky blue’
来自T10分类调色板的不区分大小写的Tableau颜色。‘tab:blue’
CN"颜色规范,其中C排在一个数字前面,作为默认属性cycle的索引‘C0’
import matplotlib.pyplot as plt
import numpy as np

t = np.linspace(0.0, 2.0, 201)
s = np.sin(2 * np.pi * t)

# 1) RGB tuple:
fig, ax = plt.subplots(facecolor=(.18, .31, .31))
# 2) hex string:
ax.set_facecolor('#eafff5')
# 3) gray level string:
ax.set_title('Voltage vs. time chart', color='0.7')
# 4) single letter color string
ax.set_xlabel('Time [s]', color='c')
# 5) a named color:
ax.set_ylabel('Voltage [mV]', color='peachpuff')
# 6) a named xkcd color:
ax.plot(t, s, 'xkcd:crimson')
# 7) Cn notation:
ax.plot(t, .7*s, color='C4', linestyle='--')
# 8) tab notation:
ax.tick_params(labelcolor='tab:orange')


plt.show()

通过辅助函数认识颜色

import math

from matplotlib.patches import Rectangle
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors


def plot_colortable(colors, *, ncols=4, sort_colors=True):

    cell_width = 212
    cell_height = 22
    swatch_width = 48
    margin = 12

    # Sort colors by hue, saturation, value and name.
    if sort_colors is True:
        names = sorted(
            colors, key=lambda c: tuple(mcolors.rgb_to_hsv(mcolors.to_rgb(c))))
    else:
        names = list(colors)

    n = len(names)
    nrows = math.ceil(n / ncols)

    width = cell_width * 4 + 2 * margin
    height = cell_height * nrows + 2 * margin
    dpi = 72

    fig, ax = plt.subplots(figsize=(width / dpi, height / dpi), dpi=dpi)
    fig.subplots_adjust(margin/width, margin/height,
                        (width-margin)/width, (height-margin)/height)
    ax.set_xlim(0, cell_width * 4)
    ax.set_ylim(cell_height * (nrows-0.5), -cell_height/2.)
    ax.yaxis.set_visible(False)
    ax.xaxis.set_visible(False)
    ax.set_axis_off()

    for i, name in enumerate(names):
        row = i % nrows
        col = i // nrows
        y = row * cell_height

        swatch_start_x = cell_width * col
        text_pos_x = cell_width * col + swatch_width + 7

        ax.text(text_pos_x, y, name, fontsize=14,
                horizontalalignment='left',
                verticalalignment='center')

        ax.add_patch(
            Rectangle(xy=(swatch_start_x, y-9), width=swatch_width,
                      height=18, facecolor=colors[name], edgecolor='0.7')
        )

    return fig
  • 基本色
plot_colortable(mcolors.BASE_COLORS, ncols=3, sort_colors=False)

在这里插入图片描述

  • 表盘色
plot_colortable(mcolors.TABLEAU_COLORS, ncols=2, sort_colors=False)

在这里插入图片描述

  • CSS颜色
plot_colortable(mcolors.CSS4_COLORS)
plt.show()

在这里插入图片描述

  • XKCD颜色
xkcd_fig = plot_colortable(mcolors.XKCD_COLORS)
xkcd_fig.savefig("XKCD_Colors.png")

在这里插入图片描述

matplotlib.colors API 点击进入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/360928.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像质量的评价指标【PSNR/SSIM/LIPIS/IE/NIE/Prepetual loss】

前言 做插帧这么久了,这几个指标还没系统的研究过,这次开一个博客写下这几个指标的区别 这里贴一个比较全的评价指标的库https://github.com/csbhr/OpenUtility/tree/c9cf713c99523c0a2e0be6c2afa988af751ad161 以以下两张图为例 预测图片 真实图片 …

el-form表单初始化赋值表单dataForm,,校验有问题,校验必填的也校验成功了

大家好啊,今天写表单发现我直接赋值对象 导致初始化校验必填校验成功以及validator校验有误的问题我的其企业名称 在初始化的时候 竟然都校验了 并且看起来像校验成功我在点击下一步的时候validator的时候,竟然也是校验成功,也不提示必填的错误最后检查我…

用 tensorflow.js 做了一个动漫分类的功能(一)

前言:浏览某乎网站时发现了一个分享各种图片的博主,于是我顺手就保存了一些。但是一张一张的保存实在太麻烦了,于是我就想要某虫的手段来处理。这样保存的确是很快,但是他不识图片内容,最近又看了 mobileNet 的预训练模…

【Kafka】三.Kafka怎么保证高可用 学习总结

Kafka 的副本机制 Kafka 的高可用实现主要依赖副本机制。 Broker 和 Partition 的关系 在分析副本机制之前,先来看一下 Broker 和 Partition 之间的关系。Broker 在英文中是代理、经纪人的意思,对应到 Kafka 集群中,是一个 Kafka 服务器节…

Blazor入门100天 : 身份验证和授权 (4) - 自定义字段

目录 建立默认带身份验证 Blazor 程序角色/组件/特性/过程逻辑DB 改 Sqlite将自定义字段添加到用户表脚手架拉取IDS文件,本地化资源freesql 生成实体类,freesql 管理ids数据表初始化 Roles,freesql 外键 > 导航属性完善 freesql 和 bb 特性 本节源码 https://github.com/…

数据备份学习笔记2

Linux实现本地备份的命令: mkdir -p /root/backup/date "%Y-%m-%d" tar -zcvPf /root/backup/date "%Y-%m-%d"/test20230221.tar.gz /root/test20230221/ 我们再看下tar命令选项: tar -czvf txt3.tar.gz txt3 tar -xvf txt4.tar.g…

二叉查找树(C++)

背景: 最近我要学习二叉平衡树了,在学习二叉平衡树之前,我需要学会二叉搜索树,因为二叉平衡树就是根据二叉搜索树的思想进行优化的。 二叉查找树简介: 二叉查找树是什么呢?(也叫二叉搜索树&…

国产无线蓝牙耳机哪个好?2023国产无线蓝牙耳机排行

随着蓝牙耳机的快速发展,近几年国产蓝牙耳机更是呈指数式爆发,越来越多的国产蓝牙耳机品牌被人们看到、认可。那么,国产无线蓝牙耳机哪个好?下面,我来给大家推荐几款国产蓝牙耳机,一起来看看吧。 一、南卡…

C语言实现动态管理通讯录信息系统(静态通讯录plus版)

文章目录前言:一.动态管理思想1.通讯录结构体声明发生变化2.通讯录结构体初始化发生变化3.通讯录能够动态增容4.通讯录销毁数据二.优化通讯录可持续读写信息1.保存通讯录中的信息到文件中2.加载文件信息到通讯录中三.源码1.text.c2.contact.c3.contact.h前言&#x…

Kotlin新手教程七(委托)

委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。kotlin中使用by实现委托。 一、类委托 类的委托实际就是一个类中定义的方法实际是调用另一个类中的对象的方法来实现…

5.7 BGP属-ORIGIN

配置BGP ORIGIN属性控制选路 1. 实验目的 熟悉BGP ORIGIN属性控制选路的应用场景掌握BGP ORIGIN属性控制选路的配置方法2. 实验拓扑 实验拓扑如图5-7所示: 图5-7:BGP ORIGIN属性控制选路 3. 实验步骤 (1)配置IP地址 …

实验室通风橱通风柜的构成

一、实验室通风橱通风柜简介通风柜是一个密闭的同时又能排风的工作空间。其设计目的是为了控制、稀释以及排除这个密闭空间内产生制造的烟气、气雾和微粒,同时它也是实验室预防泄露控制的重要组成部分。在大多数实验室中,通风柜是保护实验室操作者免受有…

ubantu python完整安装示例(python3.7.1演示)

文章目录前言准备源码包1.下载2.解压准备工作(重要)1.下载cmake(用于编译源码)2.下载必要的Module注意事项编译安装链接并验证配置环境变量1.移除原3.5link2.更换默认python3 的版本为3.73.添加路径前言 为什么需要使用源码编译安装&#xf…

分享项目 - Vue3 + TS + element-ui-plus 项目 -- Table表格表单

文章目录前言项目地址以及怎么阅读别人的代码整体代码分页数据作者是怎么处理的 usePagination顺藤摸瓜找到 api 接口的封装api 接口再往底层找全局请求封装与请求拦截器 service.ts前言 今天看一个 ts 项目的 table 模块,亲身体验这是公司后台管理系统一定会使用到…

Springboot @Test 给Controller接口 写 单元测试

前言 最近有小伙伴问到怎么给 controller的接口写单元测试。 单元测试是开发必不可少的一个环节。 既然有人问到了,那我觉得可能不止一个人不会,那就按照惯例,出手。 正文 内容: 主要是get 和 post 两种请求方式的接口 的 单元测…

centos7 开机自启动自定义脚本

centos7 开机自启动自定义脚本背景配置自启动jar1.首先书写自启动脚本2.在rc.local中加入脚本reboot测试docker版本的自启动背景 项目中有遇到2个问题, 1: 使用java启动jar包 2: docker容器中自启动个服务。 这2个都要使用linux的开机自启动问…

AcWing 1017. 怪盗基德的滑翔翼

怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵…

【图像分类】卷积神经网络之LeNet5网络模型实现MNIST手写数字识别

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 在上一篇博文中我们对LeNet5网络模型的结构进行了剖析,本篇博文,我们将使用PyTorch搭建LeNet5实现MNIST手写数字…

使用vmware制作云平台redhat7.9镜像模板

一、概述 1.1 redhat7.9 定制镜像上传到云平台。 这个制作镜像得方式适用于多种iso 镜像。 将iso 镜像通过vmware 创建出一台虚机,对虚机做一些基础配置。在虚机上安装kvm 虚拟化得工具, 将iso 镜像在导入虚机种通过kvm创建一下虚机, 虚机创…

Embedding 理解

Word Embedding 单词表示最简单的是 one-hot 但是它的缺点是 矩阵表示过于稀疏,占用空间对相关的词语无法得知它们的含义是相近的。 Word Embedding 解决了上述两个缺点,一个 Word Embedding 直观的例子如下图所示。 每个维度表示一个特征&#xff0…