第1章 图形语法入门


文档摘要

第1章 图形语法入门 本章要回答的三个问题: 同样是画图,为什么有人改需求改半天,有人只动一个参数? Seaborn 一行代码出图,背后替我做了哪些决定? 上手前要准备什么数据和环境,才能让后续八章的代码都能跑通? 为什么会有这一章 大多数人的 Seaborn 学习路径是"函数词典式"的:要箱线图就查 boxplot,要热力图就查 heatmap,参数抄一遍能跑就翻篇。这条路的前两周很顺,之后就会撞墙——需求稍一变化(按两个维度分面、颜色深浅表示第三个变量、在直方图上叠加密度曲线),词典里就查不到了,因为词典没有语法。 语法和词典的区别在于组合能力。Seaborn 的函数共享同一套参数语言: 、 、 、 、 、 、 这些"美学映射"参数几乎出现在每个绘图函数里,含义完全一致。

第1章 图形语法入门

本章要回答的三个问题

  1. 同样是画图,为什么有人改需求改半天,有人只动一个参数?
  2. Seaborn 一行代码出图,背后替我做了哪些决定?
  3. 上手前要准备什么数据和环境,才能让后续八章的代码都能跑通?

为什么会有这一章

大多数人的 Seaborn 学习路径是"函数词典式"的:要箱线图就查 boxplot,要热力图就查 heatmap,参数抄一遍能跑就翻篇。这条路的前两周很顺,之后就会撞墙——需求稍一变化(按两个维度分面、颜色深浅表示第三个变量、在直方图上叠加密度曲线),词典里就查不到了,因为词典没有语法。

语法和词典的区别在于组合能力。Seaborn 的函数共享同一套参数语言:xyhuesizestylecolrow 这些"美学映射"参数几乎出现在每个绘图函数里,含义完全一致。学会一次映射语法,等于同时学会了所有图形家族的半个参数表。这就是为什么本教程的每一张图都要放上拆解台,按固定的四层切开看:数据层(输入是什么形状的表)、映射层(列如何对应到视觉通道)、图层(多个统计图形如何叠加)、细节层(颜色、边框、图例这些打磨项)。这四层不是 Seaborn 的官方术语,而是来自图形语法(Grammar of Graphics)这一可视化理论的传统分层,Seaborn 正是该思想在 Python 统计绘图里的最完整实现。

读完能解决什么

对照开篇的三个问题,读完本章你应当能:

  • 用四层拆解法描述任何一张 Seaborn 图,说出每个参数属于哪一层;
  • 解释一行 sns.scatterplot(data=tips, ...) 背后 Seaborn 自动完成了什么;
  • 独立完成环境安装,加载五个内置数据集,并把宽表整理成绘图友好的长表。

各节怎么分工

回答哪个问题 关键产出
1.1 为什么需要图形语法 问题一 四层拆解法本身,配一个散点图实例的完整拆解
1.2 第一张图的语法解剖 问题二 从安装到出图的全流程,figure 级与 axes 级函数的分野
1.3 内置数据集与数据长表 问题三 五个内置数据集清单、长宽表互转、dtype 对映射的影响

先决条件

  • Python 基础:会装包、能运行脚本或 Jupyter;
  • Pandas 到"能取列、能分组聚合"的程度(第 1.3 节会补长表转换);
  • 不需要任何 Matplotlib 经验——但本章会指出两者边界,第 6 章再深入。

本章可考核知识点

读完本章,下面这些点应当能脱稿说清,它们也是后续八章反复回查的基座:

  • 能把一张成图的任意参数归入数据、映射、图层、细节四层之一;
  • 能说出 hue、size、style、col 四个通道各自适配的数据类型与通道预算;
  • 能区分 axes 级与 figure 级函数的返回对象、叠加方式与分面能力;
  • 能完成一次 melt 或 pivot,并解释长表为何是映射语法的母语;
  • 能预判 dtype(float、object、category)对颜色刻度的影响方向。

往下走到哪

本章结束时,你手里有了"拆解台"这件工具,但还没拆过任何图形家族。第 2 章把它对准第一个家族:分布图。那里的映射最简单(一个数值列),正好用来练习"数据 → 映射 → 图层 → 细节"的完整流程,之后再进入双变量、分类变量时,只是往映射层里不断加列而已。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U