前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 可视化视频课 - 3. Seaborn 上

Python 可视化视频课 - 3. Seaborn 上

作者头像
用户5753894
发布2021-07-07 18:04:26
1.2K0
发布2021-07-07 18:04:26
举报
文章被收录于专栏:王的机器王的机器

这是 Python 数据可视化系列的第三节《Seaborn 上》。

Python 数据可视化

  1. Matplotlib 上
  2. Matplotlib 下

之前 Python 数据分析和基础系列的所有课程链接如下。

Python 数据分析

  1. NumPy 上
  2. NumPy 下
  3. Pandas 上
  4. Pandas 下
  5. SciPy 上
  6. SciPy 下
  7. Pandas 时间序列
  8. Pandas 高频数据采样
  9. 默顿模型计量经济资本
  10. LSMC 定价美式和百慕大期权
  11. 负油价和负利率模型
  12. Nelson-Siegel 构建债券收益率曲线
  13. 外汇交易组合保证金制定系统
  14. FR007 利率掉期定价和曲线拔靴
  15. 量化投资 - 向量化回测

Python 基础

  1. 编程概览
  2. 元素型数据
  3. 容器型数据
  4. 流程控制:条件-循环-异常处理
  5. 函数上:低阶函数
  6. 函数下:高阶函数
  7. 类和对象:封装-继承-多态-组合
  8. 字符串专场:格式化和正则化
  9. 解析表达式:简约也简单
  10. 生成器和迭代器:简约不简单
  11. 装饰器:高端不简单

Seaborn 是基于 matplotlib 开发而用于统计可视化的高阶工具包。它可无缝相接的在 Pandas 的 DataFrame 上直接画图,而且代码量不多,函数签名也很一致。Seaborn 可视化的内容很多,我将其分为三个部分来讲解。

1. Seaborn 101

  • 场景设定
  • 风格设定
  • 色调设定
  • 图级轴级
  • Seaborn 数据集

2. 单图

  • 关系图
  • 分布图
  • 分类图
  • 回归图
  • 矩阵图

3. 组合图

  • 多图网格
  • 配对网格
  • 联合网格

本节关注第一部分 (该部分细节巨多,学完本节可以提高任意画图的能力)。

Seaborn 把“美图”用其主题 (theme) 功能体现:

set_theme( context='notebook',

style='darkgrid',

palette='deep' )

Seaborn 在画图时考量三大要素:场景 (context),风格 (style) 和色调 (palette),下面三小节详细说明,当设定场景、风格和色调时,Seaborn 中有特定函数 set_context(), set_style() 和 set_palette()。

  • 设定场景:set_theme(context=context) 等价于 set_context(context)
  • 设定风格:set_theme(style=style) 等价于 set_style(style)
  • 设定色调:set_theme(palette=palette) 等价于 set_palette(palette)

场景

代码语言:javascript
复制
for context in ['paper','notebook','talk','poster']:
    sns.set_context(context)
    sns.histplot(df['Close'])
    plt.show()

风格

代码语言:javascript
复制
for style in ['darkgrid','whitegrid','dark','white','ticks']:
    sns.set_style(style)
    sns.histplot(df['Close'])
    plt.show();

色调

Seaborn 提供了非常多的调色板:

从上面高亮的关键词可看出,调色板大致分为以下三类:

  1. 定性调色板 (qualitative palettes),适合用来表示分类型 (离散型) 数据
  2. 有序调色板 (sequential palettes),适合用来表示数值型 (连续型) 数据
  3. 发散调色板 (diverging palettes),适合用来表示带分类边界的数值型 (连续型) 数据

Seaborn 还提供了几个交互式小部件 (palette widgets)

定性调色板:适用于无序数据

有序调色板:适用于有序,而且只有一端有重要值的数据

发散调色板:适用于两端都有重要值的数据

图级函数 & 轴级函数

Seaborn 中的绘图函数可分为两类:

  • 坐标轴级别 (axes-level):将数据绘制到单个 matplotlib.pyplot.Axes 对象上,该对象是函数的返回值。
  • 图形级别 (figure-level):用 FacetGrid 管理图形的 Seaborn 对象与 matplotlib 接口,每个模块都有单个“图级”功能,并为各个“轴级”功能提供统一接口。

图级函数最有用的功能就是可以轻松创建多个子图 (subplots),举例如下:

代码语言:javascript
复制
sns.displot(data=penguins, x="flipper_length_mm", hue="species", col="species");

轴级函数内部调用 matplotlib.pyplot.gca() 以便在“当前轴” (currently-active axes) 上绘图,但在画图时还需要设置额外的参数 ax。

代码语言:javascript
复制
f, axs = plt.subplots(1, 2, figsize=(8, 4), gridspec_kw=dict(width_ratios=[4, 3]))
sns.scatterplot(data=penguins, x="flipper_length_mm", y="bill_length_mm", hue="species", ax=axs[0])
sns.histplot(data=penguins, x="species", hue="species", shrink=.8, alpha=.8, legend=False, ax=axs[1])
f.tight_layout()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王的机器 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档