【DataWhale】Seaborn入门——Task 3


引言

Seaborn 在 Matplotlib 的基础上进行了更加高级的封装,用户能够使用极少的代码绘制出拥有丰富统计信息的科研论文配图。Seaborn 基于 Matplotlib,Matplotlib 中大多数绘图函数的参数都可在 Seaborn 绘图函数中使用。

1.图类型

图类型介绍
关系型图数据集变量间的相互关系和相互依赖的程度都可以通过统计分析变量间的相关性获知;Seaborn提供的scatterplot()、relplot()和lineplot()函数可用于绘制反映数据间关系的图
数据分布型图在对数据进行分析或建模之前,需要先了解数据的分布情况、数据的覆盖范围、中心趋势和异常值等基本情况
分类数据型图在面对数据组中具有离散型变量(分类变量)的情况时,可使用以 X 轴或 Y 轴作为分类轴的绘图函数来绘制分类数据型图
回归模型分析型图表示数据集中变量间的关系,使用统计模型来估计两组变量间的关系
多子图网格型图在面对按数据子集绘图、分行或分列显示子图和不同类型图组合等绘图要求时,多子图网格绘制功能不但可以一次性可视化展示数据集中各变量的变化情况,而且可以减少绘制复杂图的时间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.多子图网格型图相关函数介绍

1.FacetGrid() 函数:可以实现行、列、色调 3 个维度的数值映射,其中,行、列维度与所得的轴阵列有明显的对应关系,色调变量可被视为沿深度轴的第三维,用不同的颜色绘制不同级别的数据。

代码示例:

import Seaborn as sns
import matplotlib.pyplot as plt
g = sns.FacetGrid(df, col ='time', hue ='smoker') 
g.map(sns.regplot, "total_bill", "tip") 
g.add_legend()

FacetGrid () 函数绘制分面图可视化结果如下图所示。
在这里插入图片描述

2.PairGrid() 函数:用于绘制数据集中具有成对关系的多子图网格型图。

使用 PairGrid() 函数绘制分面图示例的核心代码如下:

import Seaborn as sns
import matplotlib.pyplot as plt

penguins = sns.load_dataset("penguins")
x_vars = ["body_mass_g", "bill_length_mm", "bill_depth_mm",]
y_vars = ["body_mass_g"]
g = sns.PairGrid(penguins, hue="species", x_vars=x_vars, y_vars=y_vars)
g.map_diag(sns.histplot, color=".3")
g.map_offdiag(sns.scatterplot)
g.add_legend()

在这里插入图片描述

3.绘图风格、颜色主题和绘图元素缩放比例

Seaborn 通过下列函数设置颜色主题、绘图风格和绘图元素缩放比例。Seaborn 提供的 set_theme() 函数包含了上述 3 个函数的所有功能,即通过设置 set_theme()函数中的参数 palette、style 和 context,就可分别控制颜色主题、绘图风格和绘图元素缩放比例。

sns.set_style("style_name") #设置绘图风格
sns.set_palette("palette_name") #设置颜色主题
sns.set_context("context_name") #设置绘图元素缩放比例

3.1绘图风格

参数 style 的可选值包括 darkgrid、whitegrid、dark、white 和 ticks,参数 rc 则用于覆盖预设 Seaborn 样式字典中的值的参数映射,只更新样式中的一部分参数。
在这里插入图片描述

3.2颜色主题

可通过 Seaborn 的 set_palette() 函数更改颜色主题,数包含多色系、单色系和双色渐变色系 3 类颜色主题。
在这里插入图片描述

3.3绘图元素缩放比例

通过设置 set_context() 函数的参数 context,可以实现对绘图元素的缩放处理。参数 context 的可选值为 paper、notebook(默认)、talk 和 poster,缩放比例依次增大。
在这里插入图片描述

以上内容来自《科研论文配图》 宁海涛 著

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值