颜色图或调色板是指一系列的有规律的颜色的集合,可以区分不同类型的离散数据或不同值的连续数据。一般在matplotlib中称为colormap(在绘图函数中的关键字为cmap),在seaborn中一般称为color palette(在绘图函数中的关键字为palette)。由于seaborn是基于matplotlib开发的,因此matplotlib中的各类colormap一般seaborn均支持。
为统一起见,下文统称为palette或调色板。

调色板一般分为三类:

  • 离散型(qualitative):用来表示没有顺序关系的不同数据
  • 连续型(sequential):用来表示有序关系的连续数据
  • 连续双边型(diverging):类似连续型,但数据的分布会跨越一个中间点(一般为0),在表示数据的特征时用来强调值在两端的数据,弱化值在中间的数据

下文分别列出各类常用的调色板若干。

import seaborn as sns

离散型

seaborn库自带的调色板

sns.color_palette()


seaborn除了默认的调色板外,自带了"deep", “muted”, “pastel”, “bright”, “dark”, "colorblind"等6种调色板

sns.color_palette("deep")

pallettes = ["deep", "muted", "pastel", "bright", "dark", "colorblind"]
data = np.array([sns.color_palette(pat) for pat in pallettes])
fig = plt.figure(figsize=(9,16))
ax = fig.add_subplot(111)
ax.imshow(data)
for i, pat in enumerate(pallettes):ax.text(-0.6, i, pat, ha="right")
plt.axis("off");

# 示例
import numpy as np
import pandas as pd
import matplotlib.pyplot as pltcol1 = ["A"]*5 + ["B"]*5
col2 = list("abcde")*2
val = np.random.rand(10)
df = pd.DataFrame({"col1":col1, "col2":col2, "val":val})
dffig = plt.figure(figsize=(8,8))
fig.subplots_adjust(wspace=0.1, hspace=0.25)
for i, palette in enumerate(["deep", "muted", "bright", "dark"]):ax = fig.add_subplot(2, 2, i+1)sns.barplot(x="col2", y="val", hue="col1", data=df, ax=ax, palette=palette)ax.set_title(palette)

自定义调色板

可利用hls(色相、亮度、饱和度)颜色空间自定义任意数量颜色的调色板

sns.color_palette("hls", 8)

sns.color_palette("hls", 16)

sns.color_palette("husl", 8) # husl相比hls,基于人的视觉特点对颜色进行了修正

其它调色板

主要是matplotlib库自带的调色板,有’Pastel1’, ‘Pastel2’, ‘Paired’, ‘Accent’,‘Dark2’, ‘Set1’, ‘Set2’, ‘Set3’, ‘tab10’, ‘tab20’, ‘tab20b’, 'tab20c’等

sns.color_palette("Set2")

sns.color_palette("tab10")

连续型

主要有"rocket", “mako”, “flare"和"crest”,其中"rocket", “mako"适合较大的数值跨度;名称后面加”_r"表示翻转。
同时也支持matploblib自带的"magma"、"viridis"等。
也可用sns.cubehelix_palette函数自定义。

fig = plt.figure(figsize=(24,8))
fig.subplots_adjust(wspace=0.1, hspace=0.25)
palettes = ["rocket", "mako", "flare", "crest", "magma", "viridis"]
palettes += [pat+"_r" for pat in palettes]
data = np.random.rand(10,10)
for i, palette in enumerate(palettes):ax = fig.add_subplot(2, 6, i+1)sns.heatmap(data, cmap=palette)ax.set_title(palette)

连续双边型

主要有"vlag"和"icefire";以及matplotlib自带的"Spectral"和"coolwarm";名称后面加"_r"表示翻转。也可用sns.diverging_palette函数自定义

fig = plt.figure(figsize=(16,8))
fig.subplots_adjust(wspace=0.2, hspace=0.25)
palettes = ["vlag", "icefire", "Spectral", "coolwarm"]
palettes += [pat+"_r" for pat in palettes]
data = np.random.rand(10,10)*2-1
for i, palette in enumerate(palettes):ax = fig.add_subplot(2, 4, i+1)sns.heatmap(data, cmap=palette)ax.set_title(palette)

参考

Choosing Colormaps in Matplotlib

Choosing color palettes

matplotlib和seaborn中的颜色图(colormap)和调色板(color palette)相关推荐

  1. python怎么用matplotlib画,用matplotlib在python中绘制OHLC图

    我有一个烛台对象的列表,每个对象有6个值(开.高.低.关闭.体积.时间戳).我想用matplotlib.finance.candlestick2_ohlc(ax,opens,high,lows,clo ...

  2. android定义颜色数组,android – 我如何保存在array.xml中的颜色,并让它回到Color []数组...

    定义颜色资源,然后将它们添加到阵列以进行访问. #FF007F #FF0000 #FF7F00 #FFFF00 #7FFF00 #00FF00 #00FF7F #00FFFF #007FFF #000 ...

  3. tmux 如何自定义背景颜色 | How does the tmux color palette work?

    坑1:256 color support for vim background in tmux 解决终端颜色配置与 tmux 颜色配置不匹配问题. https://superuser.com/ques ...

  4. seaborn中的色板02详解

    建立配色方案 最重要的用于建立独立配色方案的函数是color_palette()这个函数提供了许多(not all)在seaborn中生成颜色的方式.它在任意拥有palette参数的函数内部被使用(在 ...

  5. 第五章. 可视化数据分析图表—Seaborn图表(折线图,直方图,条形图,散点图)

    第五章. 可视化数据分析图 5.7 Seaborn图表 Seaborn是一个基于Matplotlib的高级可视化效果库,偏向于统计图表,主要针对的是数据挖掘和机器学习中的变量特征选取,相比Matplo ...

  6. Matlab颜色图相关

    Matlab颜色图相关 plot函数'color'属性调整 颜色图编辑 plot函数'color'属性调整 'color'属性网上说有'r','g','b','c','m','y','k','w'几个 ...

  7. 关于web中的颜色表示方法,你知道多少?

    前言 想要表示web中的各种颜色,大家首先想到的大概就是用十六进制或者RGB来表示.但在实际web中,是远不止这两种的.今天这篇文章就和大家聊一聊,在web中颜色的各种表示方法. 以如下代码为例,大家 ...

  8. seaborn箱图(box plot)可视化、并且使用matplotlib的meanprops函数在箱图中自定义均值标签、标签形状、标签大小、标签填充色彩、标签边缘颜色

    seaborn箱图(box plot)可视化.并且使用matplotlib的meanprops函数在箱图中自定义均值标签.标签形状.标签大小.标签填充色彩.标签边缘颜色 目录

  9. Python使用matplotlib可视化相关性分析热力图图heatmap、使用seaborn中的heatmap函数可视化相关性热力图(Correllogram)

    Python使用matplotlib可视化相关性分析热力图图heatmap.使用seaborn中的heatmap函数可视化相关性热力图(Correllogram) 目录

最新文章

  1. 马斯克炮轰微软:OpenAI不是你的工具人
  2. 使用一个月Windows 8.1优缺点汇总
  3. mac 环境下 制作windows系统U盘启动盘
  4. php for循环可以变量关联数组,数组字符串变量之间的转换,数组元素的回调,for循环遍历关联数组...
  5. js邮箱正则表达式的使用
  6. 【知识星球】图像降噪模型和数据集内容开启更新,经典问题永垂不朽!
  7. 【博客美化】08.添加扩大/缩小浏览区域大小 按钮
  8. CodeForces - 287C Lucky Permutation(构造)
  9. 双系统环境下解决wine的字体为方块的问题
  10. react admin项目部署到tomcat_一个tomcat同时部署多个项目
  11. 诺基亚继续打情怀牌:怀旧小屏手机入网!
  12. Php的入栈,PHP实现的栈数据结构示例【入栈、出栈、遍历栈】
  13. linux定时重启脚本
  14. CoLA任务的数据增强方法
  15. 全球及中国冷冻减脂行业需求趋势及投资策略分析报告2022-2028年
  16. PHP单元测试框架 - PHPUnit介绍
  17. 如何设置浏览器标签图标
  18. 【硬件深似海】磁珠选型规范
  19. SpringBoot 监控
  20. nn.Upsample

热门文章

  1. Java线程状态详解
  2. sap客户信贷_SAP 客户信贷重建一则
  3. sap客户信贷_SAP信贷控制功能与配置详解
  4. MAC如何安装pfx
  5. DirectShow开发点滴
  6. css制作自动旋转的钟表
  7. 纳米数据,足球比分,赛事数据接口api,足球数据接口
  8. inner join和outer join的区别
  9. linux 生成dump文件
  10. 电子学会青少年软件编程Python编程等级考试一级真题解析(选择题+判断题)2022年6月