专栏首页王的机器Python 可视化视频课 - 3. Seaborn 上

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

这是 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)

场景

for context in ['paper','notebook','talk','poster']:
    sns.set_context(context)
    sns.histplot(df['Close'])
    plt.show()

风格

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),举例如下:

sns.displot(data=penguins, x="flipper_length_mm", hue="species", col="species");

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

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()

本文分享自微信公众号 - 王的机器(MeanMachine1031),作者:王圣元

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 可视化视频课 - 4. Seaborn 中

    统计分析就是去理解一个数据集中变量之间的关系,以及这些关系如何受到其他变量的影响。Seaborn 的主要用处就是可视化这个过程。当数据以恰当的方式展示出来时,读...

    用户5753894
  • Python 可视化视频课 - 1. Matplotlib 上

    本节开始一个全新的系列,是整套 Python 第三阶段的课。我把整套知识体系分成四个模块:

    用户5753894
  • python可视化之seaborn

    数据可视化的文章我很久之前就打算写了,因为最近用Python做项目比较多,于是就花时间读了seaborn的文档,写下了这篇。 数据可视化在数据挖掘中是一个很重...

    vincentbbli
  • Python Seaborn (3) 分布数据集的可视化

    在处理一组数据时,通常首先要做的是了解变量是如何分布的。这一章将简要介绍seborn中用于检查单变量和双变量分布的一些工具。你可能还想看看分类变量的章节,来看看...

    数据猿
  • 最全数据科学学习资源:Python、线性代数、机器学习...

    用户1737318
  • 独家 | 基于Python实现交互式数据可视化的工具(用于Web)

    这学期(2018学年春季学期)我教授了一门关于数据可视化的数据科学硕士课程。我们的数据科学硕士项目是一个为期15个月的强化项目,这个项目已经成功地培养了许多优秀...

    数据派THU
  • 基于Python实现交互式数据可视化的工具,你用过几种?

    我教授了一门关于数据可视化的数据科学硕士课程。我们的数据科学硕士项目是一个为期15个月的强化项目,这个项目已经成功地培养了许多优秀的数据科学家。

    华章科技
  • 用Python进行数据可视化的10种方法

    编译|黄念 校对|丁一 引言 艺术之美根植于其所传达的信息。有时候,现实并非我们所看到或感知到的。达芬奇(Da Vinci)和毕加索(Picass...

    小莹莹
  • Day1. 数据可视化-- 概述

    做为⼀名数据分析师,掌握可视化技能是必不可少的。大部分情况下,上级更关心呈现的结果。当可视化的结果呈现在你眼前时,你才能直观地体会到“数据之美”。图片在内容表达...

    DataScience
  • Python可视化 | Seaborn教你一行代码生成数据可视化

    处理一组数据时,通常要做的第一件事就是了解变量的分布。本文会介绍seaborn中用于可视化单变量的一些函数。

    郭好奇同学
  • Python Seaborn (4) 线性关系的可视化

    这章介绍的针对回归类型的散点数据的可视化可能是未来机器学习最直接的助理,这章给我的感悟很多。

    数据猿
  • 【Python可视化5】Seaborn之线性回归

    Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上...

    1480
  • 【Python可视化6】Seaborn之heatmap热力图

    Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上...

    1480
  • 数据可视化(3)-Seaborn系列 | 折线图lineplot()

    案例代码已上传:Githubhttps://github.com/Vambooo/SeabornCN

    数据分析可视化
  • 如何使用Python创建美观而有见地的图表

    在今天的文章中,将研究使用Python绘制数据的三种不同方式。将通过利用《 2019年世界幸福报告》中的数据来做到这一点。用Gapminder和Wikipedi...

    代码医生工作室
  • Pick 一下?Python 机器学习实用技巧

    入门机器学习从来不是一件简单的事。除了成熟的 MOOC,网络上还有海量的免费资源,这里列举了一些曾经对我有帮助的资源:

    AI研习社
  • 快速入门 Python 数据分析实用指

    Python 现如今已成为数据分析和数据科学使用上的标准语言和标准平台之一。那么作为一个新手小白,该如何快速入门 Python 数据分析呢?

    py3study
  • ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.7

    ApacheCN_飞龙
  • 万字长文 | 超全代码详解Python制作精美炫酷图表教程

    本文将探讨三种用Python可视化数据的不同方法。以可视化《2019年世界幸福报告》的数据为例,本文用Gapminder和Wikipedia的信息丰富了《世界幸...

    昱良

扫码关注云+社区

领取腾讯云代金券