当前位置:首页 » 《随便一记》 » 正文

Matplotlib 可视化必备神书,附pdf下载_Python数据之道

14 人参与  2022年04月08日 08:53  分类 : 《随便一记》  评论

点击全文阅读


出品:Python数据之道

大家好,我是阳哥。

大家知道,在利用Python进行数据可视化过程中,基本上是很难绕开 Matplotlib 的,因为 不少其他的可视化库多多少少是建立在 Matplotlib 的基础上的。

620334b1b811f19cae89dcebb9b099d5.png
Python绘图库生态

01背景

阳哥在学习数据可视化的过程中,也是不断地在学习 Matplotlib 的。

虽然有时候会觉得 Matplotlib 的语言繁琐,做出来的图不怎么高大上(现在看来还是自己水平菜~~)

但时不时的看到有高手用 Matplotlib 绘制出令人惊叹的图表,又会去研习一番。

在 2018年的时候,阳哥跟大家分享了 Matplotlib 可视化最有价值的 50 个图表 。

2020年,继续分享了 Matplotlib 可视化的 100个案例

  • Matplotlib 实操干货,100个案例带你从入门到进阶!-Part 1

  • Matplotlib 实操干货,100个案例带你从入门到进阶!-Part 2

对于初学者而言,如果能够熟练的掌握上面的 150 个案例,其实还是可以很好的学习到 Matplotlib 的不少精髓的。

最近,我又在研究 Matplotlib 在动画视频中的一些应用,在找资料的过程中,发现了一本不错的 Matplotlib 可视化书籍。

书名是《Scientific Visualization: Python + Matplotlib》,这本书是由来自法国计算机科学研究所的研究员 Nicolas P. Rougier 编写的,是一本关于使用 Python 和 Matplotlib 进行科学可视化的书籍。

书籍是可以开放获取的,其 github 地址如下:

https://github.com/rougier/scientific-visualization-book

02书籍介绍

之所以想给大家介绍下这本书,是因为我觉得书中确实有不少可以去学习的案例。

下面来分享下部分内容。

1. Matplotlib 的发展历程

可能大家并不一定知道,其实 Matplotlib 库成立至今已经有 18个年头了, 1.0版于2011年发布,至今也已经10年了。

Matplotlib 可谓是一个有着持续生命力的 Python 库,可见其在应用中的广泛度。

4455dc2cd4d38cb293b15985b7a75e05.png
Matplotlib 的发展历程

2. Matplotlib 图的层次结构

Matplotlib 图由层次结构丰富的多种元素组成,最终通过构图逻辑形成下图所示的实际图形。

905980b022f7bb65fdb3273a89bc5b50.png
Matplotlib图的层次结构

这张图来自 Matplotlib 的官方文档,熟练理解图中的各种元素,有助于咱们深入理解 Matplotlib 的绘图技巧。

3. 书中部分精彩的内容

这本书是针对进行科学计算可视化使用 Matplotlib 的书籍,具有一定的目的性。

在这本书中,基础部分的内容,其实讲的不是很多。毕竟这本书只有 200多页,如果要详细的描述 Matplotlib ,光基础内容,估计都不止 这些页数了。

所以,如果你以前没有接触过程 Matplotlib ,在学习本书内容时,需要有一些基础。不妨先了解下 Matplotlib 的一些基础知识。下面的100个案例,应该够用了~~

  • Matplotlib 100个案例-Part 1

  • Matplotlib 100个案例-Part 2

密度曲线重叠图

cf1c4b7a5525cd00efa19ab758998062.png

上面的这张图的类型,有个英文名称,叫 “Joy Plot”,但中文翻译我也不知道怎么称呼了,姑且称之为 “密度曲线重叠图” 。

Joy Plot 允许不同组的密度曲线重叠,这是一种可视化大量分组数据的彼此关系分布的好方法。

散点+直方图

c8d91b45ced3580749c80693b4def09d.png

上面这张图是散点图和直方图的组合,这种类型的图,我是很少见,觉得还是比较新颖的。大家不妨学习下。

极坐标图

极坐标下绘图,可以有多种变化。

咱们常见的有 雷达图。

在本书中,也介绍了好几种极坐标图的绘制方法。图示如下:

6daa6b12ee08db4597af263df4aa70f1.png 93f3143eba30b9330386bb6845928bb2.png a2c7a381ebcacebf1648920158892d84.png

轮廓图

等高线图属于轮廓图中的一种,用 Matplotlib绘制等高线图,也是挺不错的,如下:

6b1eb49d1ecba92a99894b384ecee294.png

之前,我也分享过等高线怎么来绘制的:Matplotlib 中等高线图的绘制

在书中,还有一种轮廓图,我觉得很不错的,值得学习下,图示如下:

f3f30d32b95f577d3a30ca5fe47d9378.png

将轮廓作为背景,将文字包裹在轮廓中,大家可以换个内容试试。

堆积面积图

其实,堆积面积图是一种常见的图形,但我觉得书中的效果确实给人一种高大上的感觉。

3496af7f7990d8414b88431a1a985c12.png

配色的魅力,大概就体验在这里了吧 (我自己的图,经常配色好丑~~)

关于配色,再看看下面这两幅图,是不是很惊艳呀

28b77b65abd4b3ae65e39b7616d60fbc.png 0f08c4dbbcb3447d0718b06740822fcf.png

注释对齐

下面的这张图,将文字说明的注释内容对齐,并用折线箭头指示,这种效果,还是挺美观的。

cfa2d10f14c3a1bec46aa920a9acf398.png

3D图

Matplotlib 的3D 绘制功能,其实是很强大的,只是可能我们平时用的不多,有所忽略。

你知道吗,用 matplotlib 还可以绘制一只兔子哈,如下:

740e063a0a387d2f79fee226409305de.png

科学领域

下一这幅图是基底神经节切片示意图,虽然我不明白具体的科学含义是什么,但我相信,在相关专业领域的人士会用到这些功能。

29b8f710c664ad7695757f5ffeafde2e.png

视觉之美

书中,还有不少精致的绘图,足以展现 Matplotlib 的强大之处,跟大家分享下图片效果(可以左右滑动查看

365c9d499b79766043fb26a22bc3537f.png

dc53b659c5d0c7c208ab81bdf29f9578.png

b634b2a4008e39ae71804f0f8d85886d.png

4a3957548f7d830eeb629c97005a5db8.png

96b0d156e8dab140789cec39b11dd733.png

3e0d2f56323b5ab6b8298dfff13756f3.png

244633b32cdb12e3c72fa992a3a31e6d.png

9300d12af040afe7b74f07b51aac13d7.png

<<< 左右滑动见更多 >>>

03小结

难能可贵的是,作者在这本书中提供的案例,都同时提供了相应的源代码,大家可以在其 Github 中获取。

https://github.com/rougier/scientific-visualization-book

考虑到 github 的访问速度有时很慢,我将书籍pdf版以及配套源代码也下载下来了,大家可以在公众号「Python数据之道」后台回复 matplot 来获取。

84f8241b7444611e07c256de4eabe2c6.png



大家读完顺手点下右下角的  “在看” ,就是最大的鼓励和支持了。


点击全文阅读


本文链接:http://zhangshiyu.com/post/37556.html

可视化  书中  绘制  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1