社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

王的机器 • 4 年前 • 349 次点击  

这是 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社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/116379
 
349 次点击