章节主张
数据可视化的价值不只是画图,而是把抽象数字关系转成可以一眼判断的结构。
中文释读
从这一章开始,书的第二部分发生了一次视角切换:Python 不再只是做控制流和游戏,也开始处理数据。Matplotlib 的意义并不在于会几个 API,而在于你开始意识到,代码可以用来生成认知工具,把趋势、分布和路径直接画出来。随机游走之类的例子,正好给了初学者一套温和但足够有成就感的数据入口。
关键论点
- 可视化会降低理解复杂数据的门槛。
- 图形输出是 Python 在科学与分析领域的重要能力之一。
- 代码生成图表比手工点工具更可复用。
行动清单
- 理解数据、图形和参数之间的映射关系。
- 把图表当成分析工具,而不是装饰品。
- 练习把生成过程参数化,而不是写死。
源章节深读
第 15 章 ⽣成数据 数据可视化指的是通过可视化表⽰来探索和呈现数据集内的规律。它 与数据分析紧密相关,⽽数据分析指的是使⽤代码来探索数据集内的 规律和关联。数据集既可以是⽤⼀⾏代码就能装下的⼩型数值列表, 也可以是数万亿字节、包含多种信息的数据。 有效的数据可视化不仅仅是以漂亮的⽅式呈现数据。重要的是,通过以简 单⽽引⼈注⽬的⽅式呈现数据,让观看者能够明⽩其含义:发现数据集中 原本未知的规律和意义。 所幸,即便没有超级计算机,也能够可视化复杂的数据。鉴于 Python 的⾼ 效性,使⽤它在笔记本计算机上就能快速地探索由数百万个数据点组成的 数据集。数据点并不⼀定是数,利⽤本书第⼀部分介绍的基本知识,也可 对⾮数值数据进⾏分析。 在遗传学、天⽓研究、政治和经济分析等众多领域,⼈们常常使⽤ Python 来完成数据密集型⼯作。数据科学家使⽤ Python 编写了⼀系列优秀的可视 化和分析⼯具,你可以轻易使⽤其中的⼤部分⼯具。⼀个流⾏的⼯具是 Matplotlib ,它是⼀个数学绘图库。
15.1 安装 Matplotlib
15.1 安装 Matplotlib 本章将⾸先使⽤ Matplotlib 来⽣成⼏个图形,为此需要像第 11 章安装 pytest 那样使⽤ pip 安装 Matplotlib (请参阅 11.1 节)。
这节解决什么:这一节主要解决《第 15 章 生成数据》里一个更具体的子问题:15.1 安装 Matplotlib 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
15.2 绘制简单的折线图
15.2 绘制简单的折线图 下⾯使⽤ Matplotlib 绘制⼀张简单的折线图,再对其进⾏定制,以实现信息 更丰富的数据可视化效果。我们将使⽤平⽅数序列 1 、 4 、 9 、 16 和 25 来绘 制这个图形。
这节解决什么:这一节主要解决《第 15 章 生成数据》里一个更具体的子问题:15.2 绘制简单的折线图 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
15.3 随机游走
15.3 随机游⾛ 本节将使⽤ Python ⽣成随机游⾛数据,再使⽤ Matplotlib 以美观的形式将 这些数据呈现出来。随机游⾛是由⼀系列简单的随机决策产⽣的⾏⾛路 径。可以将随机游⾛看作⼀只晕头转向的蚂蚁每⼀步都沿随机的⽅向前⾏ 所经过的路径。 在⾃然界、物理学、⽣物学、化学和经济学中,随机游⾛都有实际的⽤ 途。例如,漂浮在⽔滴上的⼀粒花粉不断受到⽔分⼦的挤压⽽在⽔滴表⾯ 移动,因为⽔滴中的分⼦运动是随机的,所以花粉在⽔⾯上的运动路径就 是随机游⾛。
这节解决什么:这一节主要解决《第 15 章 生成数据》里一个更具体的子问题:15.3 随机游走 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
15.4 使用 Plotly 模拟掷骰子
15.4 使⽤ Plotly 模拟掷骰⼦ 本节将使⽤ Plotly 来⽣成交互式图形。当需要创建要在浏览器中显⽰的图 形时, Plotly 很有⽤,因为它⽣成的图形将⾃动缩放,以适应观看者的屏 幕。 Plotly ⽣成的图形还是交互式的:当⽤户将⿏标指向特定的元素时,将 显⽰有关该元素的信息。本节将使⽤ Plotly Express 来创建初始图形。 Plotly Express 是 Plotly 的⼀个⼦集,致⼒于让⽤户使⽤尽可能少的代码来⽣成绘 图。
这节解决什么:这一节主要解决《第 15 章 生成数据》里一个更具体的子问题:15.4 使用 Plotly 模拟掷骰子 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
15.5 小结
15.5 ⼩结 在本章中,你学习了如何⽣成数据集以及如何进⾏数据可视化,包括如何 使⽤ Matplotlib 创建简单的绘图,以及如何使⽤散点图来探索随机游⾛过 程。你还学习了如何使⽤ Plotly 来创建直⽅图,以及如何使⽤直⽅图来探 索同时掷两个⾯数不同的骰⼦的结果。 使⽤代码⽣成数据集是⼀种有趣⽽强⼤的⽅式,可⽤于模拟和探索现实世 界的各种情形。在完成后⾯的数据可视化项⽬时,请注意可使⽤代码模拟 哪些情形。
这节解决什么:这一节主要解决《第 15 章 生成数据》里一个更具体的子问题:15.5 小结 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
辨析题
为什么数据可视化会让人对 Python 的用途突然有新认识?
因为它让代码第一次直接生成洞察,而不是只生成结果文本或游戏动作。