matplotlib和seaborn中的颜色图(colormap)和调色板(color palette)
颜色图或调色板是指一系列的有规律的颜色的集合,可以区分不同类型的离散数据或不同值的连续数据。一般在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)相关推荐
- python怎么用matplotlib画,用matplotlib在python中绘制OHLC图
我有一个烛台对象的列表,每个对象有6个值(开.高.低.关闭.体积.时间戳).我想用matplotlib.finance.candlestick2_ohlc(ax,opens,high,lows,clo ...
- android定义颜色数组,android – 我如何保存在array.xml中的颜色,并让它回到Color []数组...
定义颜色资源,然后将它们添加到阵列以进行访问. #FF007F #FF0000 #FF7F00 #FFFF00 #7FFF00 #00FF00 #00FF7F #00FFFF #007FFF #000 ...
- tmux 如何自定义背景颜色 | How does the tmux color palette work?
坑1:256 color support for vim background in tmux 解决终端颜色配置与 tmux 颜色配置不匹配问题. https://superuser.com/ques ...
- seaborn中的色板02详解
建立配色方案 最重要的用于建立独立配色方案的函数是color_palette()这个函数提供了许多(not all)在seaborn中生成颜色的方式.它在任意拥有palette参数的函数内部被使用(在 ...
- 第五章. 可视化数据分析图表—Seaborn图表(折线图,直方图,条形图,散点图)
第五章. 可视化数据分析图 5.7 Seaborn图表 Seaborn是一个基于Matplotlib的高级可视化效果库,偏向于统计图表,主要针对的是数据挖掘和机器学习中的变量特征选取,相比Matplo ...
- Matlab颜色图相关
Matlab颜色图相关 plot函数'color'属性调整 颜色图编辑 plot函数'color'属性调整 'color'属性网上说有'r','g','b','c','m','y','k','w'几个 ...
- 关于web中的颜色表示方法,你知道多少?
前言 想要表示web中的各种颜色,大家首先想到的大概就是用十六进制或者RGB来表示.但在实际web中,是远不止这两种的.今天这篇文章就和大家聊一聊,在web中颜色的各种表示方法. 以如下代码为例,大家 ...
- seaborn箱图(box plot)可视化、并且使用matplotlib的meanprops函数在箱图中自定义均值标签、标签形状、标签大小、标签填充色彩、标签边缘颜色
seaborn箱图(box plot)可视化.并且使用matplotlib的meanprops函数在箱图中自定义均值标签.标签形状.标签大小.标签填充色彩.标签边缘颜色 目录
- Python使用matplotlib可视化相关性分析热力图图heatmap、使用seaborn中的heatmap函数可视化相关性热力图(Correllogram)
Python使用matplotlib可视化相关性分析热力图图heatmap.使用seaborn中的heatmap函数可视化相关性热力图(Correllogram) 目录
最新文章
- 马斯克炮轰微软:OpenAI不是你的工具人
- 使用一个月Windows 8.1优缺点汇总
- mac 环境下 制作windows系统U盘启动盘
- php for循环可以变量关联数组,数组字符串变量之间的转换,数组元素的回调,for循环遍历关联数组...
- js邮箱正则表达式的使用
- 【知识星球】图像降噪模型和数据集内容开启更新,经典问题永垂不朽!
- 【博客美化】08.添加扩大/缩小浏览区域大小 按钮
- CodeForces - 287C Lucky Permutation(构造)
- 双系统环境下解决wine的字体为方块的问题
- react admin项目部署到tomcat_一个tomcat同时部署多个项目
- 诺基亚继续打情怀牌:怀旧小屏手机入网!
- Php的入栈,PHP实现的栈数据结构示例【入栈、出栈、遍历栈】
- linux定时重启脚本
- CoLA任务的数据增强方法
- 全球及中国冷冻减脂行业需求趋势及投资策略分析报告2022-2028年
- PHP单元测试框架 - PHPUnit介绍
- 如何设置浏览器标签图标
- 【硬件深似海】磁珠选型规范
- SpringBoot 监控
- nn.Upsample