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

本章细节多到爆!

为能画出

任意场景

任意风格

任意色调

的图打下坚实基础!

付费用户(付 1 赠 1)可以获得:

  • 观看课程视频 (112 分钟)

  • Python 代码 (Jupyter Notebook)

Python 可视化视频课 - 3. Seaborn 上相关推荐

  1. Python 进阶视频课 - 11. 负油价和负利率模型

    这是 Python 进阶课的第十一节 - 负油价和负利率模型,进阶课的目录如下: NumPy 上 NumPy 下 Pandas 上 Pandas 下 SciPy 上 SciPy 下 Pandas 时间 ...

  2. Python 进阶视频课 - 10. LSMC 美式百慕大期权定价

    这是 Python 进阶课的第十节 - LSMC 定价美式和百慕大期权,进阶课的目录如下: NumPy 上 NumPy 下 Pandas 上 Pandas 下 SciPy 上 SciPy 下 Pand ...

  3. Python 进阶视频课 - 9. 默顿模型

    这是 Python 进阶课的第九节 - 用默顿模型计量经济资本,进阶课的目录如下: NumPy 上 NumPy 下 Pandas 上 Pandas 下 SciPy 上 SciPy 下 Pandas 时 ...

  4. python文本挖掘视频课_自动摘要的python实现

    请至PC端网页下载本课程代码课件及数据. 文本挖掘(TM),又称自然语言处理(NLP),是AI时代炙手可热的数据分析挖掘前沿领域,其所涉及的人机对话系统,推荐算法,文本分类等技术在BAT等企业中都得到 ...

  5. 【Python可视化】Windows 10系统上Pyecharts安装教程

    简单的Python库,如Numpy,可以直接在PyCharm中自动下载并安装. 同添加Python环境变量一样,需要先添加pip环境变量.pip位于C:\Python27\ArcGIS10.8\Scr ...

  6. python培训视频课 知乎

    Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样的编程语言提供越来越多的优秀工具,让爬虫变得 ...

  7. 【视频课】12小时不一样的高质量Python基础课,推荐给你学习!

    在人工智能和深度学习领域,Python语言是必须掌握的,几乎所有的开源框架都基于Python接口,数据获取与整理需要用到Python,市面上Python教程众多,但良莠不齐,本次我们联合<王的机 ...

  8. python可视化之matplotlib绘图--蜘蛛侠钢铁侠(组合分区绘图)

    matplotlib绘图–本次图形涉及(并列)条形图.(堆积)柱状图.饼图.折线图.阶梯图.散点图.极线图.气泡图: 子区划分:subplots().gridspec().add_axes(). py ...

  9. python数据分析与可视化清华大学_Python数据分析与可视化 微课视频版

    随着互联网的飞速发展,人们在互联网上的行为产生了海量数据,对这些数据存储.处理与分析带动了大数据技术的发展.其中,数据挖掘和分析技术可以帮助人们对庞大的数据进行相关分析,找到有价值的信息和规律,使得人 ...

最新文章

  1. Gradle 将项目publish到Nexus,Kotlin将项目发布到nexus,springboot项目发布到maven仓库
  2. 文件流能转换格式吗_amr转换mp3格式文件
  3. 单应性Homograph估计:从传统算法到深度学习
  4. annie安装教程与Access is denied解决方法
  5. java final 实例_Java中final实现原理的深入分析(附示例)
  6. Java基础:char类型字节占用数
  7. [Linux实用工具]Ubuntu环境下SSH的安装及使用
  8. WPF疑难杂症之二(全屏幕窗口)
  9. C#生成安装文件后自动附加数据库的思路跟算法
  10. C++ rand,srand用法
  11. 19.Linux-USB总线驱动分析
  12. 移动端适配之二:visual viewport、layout viewport和ideal viewport介绍 1
  13. 广播BroadcastReceiver(2)
  14. Memcache与Redis的区别
  15. 如何编译符合自己路由器的的OpenWrt固件
  16. CMPP网关协议核心代码 java版本
  17. 2021年数学建模B组代码
  18. Flink Interval Join Left Join
  19. 保卫萝卜迅玩版53关php,2018微信保卫萝卜迅玩版第50关攻略
  20. python中idxmax_python-熊猫idxmax()在按包含NaN的时间段分组的...

热门文章

  1. JAVA杂谈 —— 1.2 JS比较两个对象内容是否相同
  2. iaas java_IaaS、SaaS、PaaS
  3. Django中的模型层
  4. 从诗词大会飞花令到elasticsearch原理解析
  5. CentOS7修复python拯救yum - 转载
  6. 对计算机性能的描述,对电脑进行评价,硬件健康,性能测试, WINDOWS体验指数...
  7. three.js中的object3D对象
  8. 用AI生成的一张美女老师图,大家一定要仔细的看她眼睛,是否发现了什么?
  9. 矿井主排水泵控制系统的PLC如何实现数据采集和组态监控
  10. 消息推送系统——(一)概念与原理