Python 科学可视化领域由无数的工具组成,从最通用和广泛使用的,到更专业和更机密的。其中一些工具源自社区,而另一些则是由企业开发的。有些是专门面向网页制作的,有些仅面向桌面端,有些面向 3D 和大型数据处理,还有一些面向 2D 渲染。
可视化是一个复杂的过程,研究者可以先问自己几个问题:
目标是桌面渲染还是网页渲染?
- 需要复杂的 3D 渲染吗?
- 对可视化的品质有什么要求吗?
- 是否有非常大型的数据?
- 是否有一个相关的开发社区?
- 有文档和教程吗?
Matplotlib 作为 Python 语言及其数值计算库 NumPy 的绘图库,与 numpy、pandas 共享数据科学三剑客的美誉,具有设计与数字化高品质、适合科学出版等优点。它提供了一个简单直观的界面,是很多高级可视化库的基础。
近日,来自法国计算机科学研究所的研究员 Nicolas P. Rougier 编写了一本关于使用 Python 和 Matplotlib 进行科学可视化的书籍,目前已经开放获取渠道。
PDF 下载地址:https://hal.inria.fr/hal-03427242/document
书籍配套代码更是上线几天,就狂揽 5.1k star 量。
代码地址:https://github.com/rougier/scientific-visualization-book
内容概览
Matplotlib 第一次正式发布是在 2003 年,原作者是 John D. Hunter。之后的十几年里,它又得到了进一步的发展和完善。如今,Matplotlib 库已经成为 Python 科学可视化的实际标准。例如,它已被用于展示黑洞的第一张照片,并说明引力波的存在。
Matplotlib 图由层次结构丰富的多种元素组成,最终通过构图逻辑形成下图所示的实际图形。
通常上图中的元素不是由用户自己创建的,而是借助处理各种绘图命令。例如,最简单的 matplotlib 脚本:
- plt.plot(range(10))
- plt.show()
书中给出了一些经典案例以及用 matplotlib 创建其可视化结果的详细方法。这种从基本元素开始学习掌握可视化的方法也非常适合零基础的同学。
全书主要内容分为 4 个部分。第一部分讲解了 Matplotlib 库的基本原理,包括构成图形的不同部分、坐标系、可用的比例和投影,并介绍了一些与排版和颜色相关的概念。第二部分讲解了图形的实际设计。首先书中介绍了一些生成图形的简单规则、Matplotlib 的默认设置和样式系统,然后该书进一步讲解了图形的布局组织 ,并探索了 Matplotlib 库中一些可用的技巧。第三部分讲解了一些更高级的概念,包括 3D 图形、优化、动画和工具包。最后,第四部分给出了一系列的展示及其分析。全书的具体目录如下:
作者简介
这本书的作者是法国计算机科学研究所全职研究员 Nicolas P. Rougier,他的主要研究领域是认知神经科学和神经退行性疾病。他使用人工神经网络研究决策、学习和认知的机理,旨在为解释大脑正常和病理功能的医学以及提供替代计算范式的数字科学领域提供指导。除了神经科学,他的研究兴趣还包括科学可视化、计算机图形学等。