2.2 Seaborn
Seaborn 是 Python 中一个非常受用户欢迎的可视化库。Seaborn 在 Matplotlib 的基础上进行了更加高级的封装,用户能够使用极少的代码绘制出拥有丰富统计信息的科研论文配图。Seaborn 基于 Matplotlib,Matplotlib 中大多数绘图函数的参数都可在 Seaborn 绘图函数中使用,这大大降低了用户的学习成本和绘制定制化统计图的烦琐程度。
2.2.1 图类型
-
关系型图
-
数据分布图型
-
分类数据型图
-
回归模型分析型图
2.2.2 多子图网络型图
相比 Matplotlib,Seaborn 提供了多个子图网格绘图函数,它们可快速实现分面图的展示。在面对按数据子集绘图、分行或分列显示子图和不同类型图组合等绘图要求时,多子图网格绘制功能不但可以一次性可视化展示数据集中各变量的变化情况,而且可以减少绘制复杂图的时间。
- FacetGrid()
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()
- PariGrid()
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()
2.2.3 绘图风格、颜色主题和绘图元素缩放比例
和 Matplotlib 相比,Seaborn 有更多的绘图风格和颜色主题,它们可用于绘制不同样式的图。Seaborn 通过下列函数设置颜色主题、绘图风格和绘图元素缩放比例。
sns.set_style("style_name") #设置绘图风格
sns.set_palette("palette_name") #设置颜色主题
sns.set_context("context_name") #设置绘图元素缩放比例
-
绘图风格
使用 Seaborn 的 set_style() 函数并设置其参数 style,即可设定图的绘制风格。参数 style 的可选值包括 darkgrid、whitegrid、dark、white 和 ticks,参数 rc 则用于覆盖预设 Seaborn 样式字典中的值的参数映射,只更新样式中的一部分参数。 -
颜色主题
- 我们可通过 Seaborn 的 set_palette() 函数更改颜色主题,该函数包含多色系、单色系和双色渐变色系 3 类颜色主题,不同颜色主题的显示效果可通过 sns.color_palette() 函数来查看。
-
绘图元素缩放比例
- 通过设置 Seaborn 中 set_context() 函数的参数 context,我们可以实现对绘图元素的缩放处理。参数 context 的可选值为 paper、notebook(默认)、talk 和 poster,缩放比例依次增大。
该文章源自《科研论文配图的绘制与配色基础》书籍的 学习笔记