沉舟侧畔千帆过,病树前头万木春。 ——刘禹锡
import numpy as np
import seaborn as sns
引言
- 本文主要对seaborn库中的调色板函数
cubehelix_palette
进行简单说明 - 函数
cubehelix_palette
通过cubehelix系统来生成顺序调色板(sequential palette)、且共有九个参数可以调整 - 实际上、本文并未总结出显著的规律性方法来调用该函数、但记住一些常用的调色板所对应的参数、并善于对参数进行微调可能才是更为有用的指导
正文开始
- 查看默认调色板、jupyter中直接调用函数
sns.cubehelix_palette()
就可以显示 - 显然从明到暗、6种颜色
sns.palplot(sns.cubehelix_palette())
- 由于函数默认返回的是RGB元组列表(list of RGB tuples)、所以可以通过整数或者切片来选取调色板中的部分颜色
sns.palplot(sns.cubehelix_palette()[::2])
参数rot
控制在调色板的范围内围绕色调轮旋转- 通过从-0.5到0.6且步长为0.1的循环来查看所生成的颜色表、
参数n_colors
控制生成色块的数量
for rot in np.arange(start=-0.5, stop=0.6, step=0.1):
sns.palplot(sns.cubehelix_palette(n_colors=12, rot=rot))
参数start
控制螺旋线开始的色调- 可以进行一些对比、这是不设置开始色调时生成的颜色表
sns.palplot(sns.cubehelix_palette(n_colors=8, rot=-.2))
- 同样循环改变参数start、且产生了和参数rot类似的效果
- 但并没有发现可循的规律…
for start in np.arange(start=0, stop=3, step=0.6):
sns.palplot(sns.cubehelix_palette(n_colors=8, rot=-.2, start=start))
参数gamma
控制颜色的明暗、越小于1越亮、越大于1越暗
sns.palplot(sns.cubehelix_palette(n_colors=8, rot=0.2, gamma=0.1))
sns.palplot(sns.cubehelix_palette(n_colors=8, rot=0.2, gamma=0.5))
sns.palplot(sns.cubehelix_palette(n_colors=8, rot=0.2))
sns.palplot(sns.cubehelix_palette(n_colors=8, rot=0.2, gamma=1.5))
sns.palplot(sns.cubehelix_palette(n_colors=8, rot=0.2, gamma=2.5))
参数hue
控制颜色的饱和度- 官网所给出的范围是从0到1、但超出来也并没有什么问题
for hue in np.arange(start=-0.5, stop=2.0, step=0.5):
sns.palplot(sns.cubehelix_palette(rot=0.5, hue=hue))
参数dark
和参数light
分别控制调色板/颜色表中最暗和最亮颜色的强度- 使用的时候慢慢调整到合适的、所需要的颜色吧
sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5, dark=0.05))
sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5))
sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5, dark=0.5))
sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5, light=0.3))
sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5, light=0.5))
sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5))
- 参数light取0.85、或参数dark取0.15为默认值
sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5))== sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5, light=0.85))
True
sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5))== sns.palplot(sns.cubehelix_palette(rot=-0.2, gamma=0.5, dark=0.15))
True
参数reverse
可以将调色板从明到暗改为从暗到明
sns.palplot(sns.cubehelix_palette(rot=-0.5, gamma=0.5))
sns.palplot(sns.cubehelix_palette(rot=-0.5, gamma=0.5, reverse=True))
参数as_cmap
可以将函数返回值从RGB元组列表
改为matplotlib的colors.Colormap数据类型
- 这样就可以通过顺序调色板函数
cubehelix_palette
来设置其他绘图函数中的参数cmap
cmap = sns.cubehelix_palette(rot=-0.2, as_cmap=True, light=1)
sns.heatmap(data=np.arange(25).reshape(5,5), cmap=cmap)
本文转载自: https://blog.csdn.net/qq_46621219/article/details/125086391
版权归原作者 KevinDuangDuangDuang 所有, 如有侵权,请联系我们删除。
版权归原作者 KevinDuangDuangDuang 所有, 如有侵权,请联系我们删除。