栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

通过函数seaborn.cubehelix

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过函数seaborn.cubehelix

沉舟侧畔千帆过,病树前头万木春。 ——刘禹锡

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)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/948767.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号