Matplotlib 可视化必备神书,附pdf下载

出品:Python数据之道

大家好,我是阳哥。

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

620334b1b811f19cae89dcebb9b099d5.png
Python绘图库生态

01背景

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

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

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

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

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

对于初学者而言,如果能够熟练的掌握上面的 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个案例,应该够用了~~

密度曲线重叠图
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



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

Matplotlib Release 1.2.0 I User’s Guide 1 1 Introduction 3 2 Installing 5 2.1 Manually installing pre-built packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Installing from source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Build requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Building on OSX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 Pyplot tutorial 9 3.1 Controlling line properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Working with multiple figures and axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3 Working with text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4 Interactive navigation 19 4.1 Navigation Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5 Customizing matplotlib 23 5.1 Thematplotlibrcfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 Dynamic rc settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6 Using matplotlib in a python shell 33 6.1 Ipython to the rescue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.2 Other python interpreters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 6.3 Controlling interactive updating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 7 Working with text 37 7.1 Text introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 7.2 Basic text commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 7.3 Text properties and layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7.4 Writing mathematical expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.5 Typesetting With XeLaTeX/LuaLaTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 7.6 Text rendering With LaTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 7.7 Annotating text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 8 Image tutorial 67 8.1 Startup commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 8.2 Importing image data into Numpy arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 8.3 Plotting numpy arrays as images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 9 Artist tutorial 81 9.1 Customizing your objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 9.2 Object containers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 9.3 Figure container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 9.4 Axes container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 9.5 Axis containers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 9.6 Tick containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 10 Customizing Location of Subplot Using GridSpec 95 10.1 Basic Example of using subplot2grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 10.2 GridSpec and SubplotSpec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 10.3 Adjust GridSpec layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 10.4 GridSpec using SubplotSpec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 10.5 A Complex Nested GridSpec using SubplotSpec . . . . . . . . . . . . . . . . . . . . . . . 99 10.6 GridSpec with Varying Cell Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 11 Tight Layout guide 103 11.1 Simple Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 12 Legend guide 119 12.1 What to be displayed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 12.2 Multicolumn Legend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 12.3 Legend location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 12.4 Multiple Legend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 12.5 Legend of Complex Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 13 Event handling and picking 127 13.1 Event connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 13.2 Event attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 13.3 Mouse enter and leave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 13.4 Object picking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 14 Transformations Tutorial 137 14.1 Data coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 14.2 Axes coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 14.3 Blended transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 14.4 Using oset transforms to create a shadow eect . . . . . . . . . . . . . . . . . . . . . . . 144 14.5 The transformation pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 15 Path Tutorial 149 15.1 Bézier example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 15.2 Compound paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 16 Annotating Axes 155 16.1 Annotating with Text with Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 16.2 Annotating with Arrow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 16.3 Placing Artist at the anchored location of the Axes . . . . . . . . . . . . . . . . . . . . . . 162 16.4 Using Complex Coordinate with Annotation . . . . . . . . . . . . . . . . . . . . . . . . . 164 16.5 Using ConnectorPatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.6 Zoom eect between Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 16.7 Define Custom BoxStyle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 17 Our Favorite Recipes 173 17.1 Sharing axis limits and views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.2 Easily creating subplots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.3 Fixing common date annoyances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.4 Fill Between and Alpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 17.5 Transparent, fancy legends. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 17.6 Placing text boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 18 Screenshots 183 18.1 Simple Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 18.2 Subplot demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.3 Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 18.4 Path demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 18.5 mplot3d. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 18.6 Ellipses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 18.7 Bar charts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 18.8 Pie charts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 18.9 Table demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 18.10 Scatter demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 18.11 Slider demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 18.12 Fill demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 18.13 Date demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 18.14 Financial charts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 18.15 Basemap demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 18.16 Log plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 18.17 Polar plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 18.18 Legends. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 18.19 Mathtext_examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 18.20 Native TeX rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 18.21 EEG demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 19 What’s new in matplotlib 205 19.1 new in matplotlib-1.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 19.2 new in matplotlib-1.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 19.3 new in matplotlib-1.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 19.4 new in matplotlib-0.99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 19.5 new in 0.98.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 20 Github stats 241 iii 21 License 255 21.1 License agreement for matplotlib 1.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 22 Credits 257 II The Matplotlib FAQ 261 23 Installation 263 23.1 Report a compilation problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 23.2 matplotlib compiled fine, but nothing shows up when I use it. . . . . . . . . . . . . . . . . 263 23.3 How to completely remove matplotlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 23.4 How to Install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 23.5 Linux Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 23.6 OS-X Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 23.7 Windows Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 24 Usage 269 24.1 General Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 24.2 Matplotlib, pylab, and pyplot: how are they related? . . . . . . . . . . . . . . . . . . . . . 270 24.3 Coding Styles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 24.4 What is a backend?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 24.5 What is interactive mode? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 25 How-To 277 25.1 Plotting: howto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 25.2 Contributing: howto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 25.3 Matplotlib in a web application server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 25.4 Search examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 25.5 Cite Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 26 Troubleshooting 293 26.1 Obtaining matplotlib version. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.2 matplotlibinstall location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.3 .matplotlibdirectory location. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 26.4 Getting help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 26.5 Problems with recent git versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 27 Environment Variables 297 27.1 Setting environment variables in Linux and OS-X. . . . . . . . . . . . . . . . . . . . . . . 297 27.2 Setting environment variables in windows. . . . . . . . . . . . . . . . . . . . . . . . . . . 298 III The Matplotlib Developers’ Guide 299 28 Coding guide 301 28.1 Committing changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 28.2 Style guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 28.3 Documentation and docstrings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 iv 28.4 Developing a new backend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 28.5 Writing examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 28.6 Writing a new pyplot function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 28.7 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 28.8 Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 29 Working withmatplotlibsource code 311 29.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 29.2 Install git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 29.3 Following the latest source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 29.4 Making a patch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 29.5 Git for development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 29.6 git resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 30 Documenting matplotlib 327 30.1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 30.2 Organization of matplotlib’s documentation. . . . . . . . . . . . . . . . . . . . . . . . . . 327 30.3 Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 30.4 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 30.5 Referring to mpl documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 30.6 Internal section references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 30.7 Section names, etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 30.8 Inheritance diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 30.9 Emacs helpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 31 Doing a matplolib release 337 31.1 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 31.2 Branching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 31.3 Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 31.4 Release candidate testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 31.5 Announcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 32 Working with transformations 339 32.1 matplotlib.transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 33 Adding new scales and projections to matplotlib 361 33.1 Creating a new scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 33.2 Creating a new projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 33.3 API documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 34 Docs outline 373 34.1 Reviewer notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 IV Matplotlib AxesGrid Toolkit 379 35 Overview of AxesGrid toolkit 383 35.1 What is AxesGrid toolkit? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 35.2 AXES_GRID1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 v 35.3 AXISARTIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 36 The Matplotlib AxesGrid Toolkit User’s Guide 405 36.1 AxesDivider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 36.2 AXISARTIST namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 37 The Matplotlib AxesGrid Toolkit API 421 37.1 mpl_toolkits.axes_grid.axes_size. . . . . . . . . . . . . . . . . . . . . . . . . . . 421 37.2 mpl_toolkits.axes_grid.axes_divider. . . . . . . . . . . . . . . . . . . . . . . . . 422 37.3 mpl_toolkits.axes_grid.axes_grid. . . . . . . . . . . . . . . . . . . . . . . . . . . 425 37.4 mpl_toolkits.axes_grid.axis_artist . . . . . . . . . . . . . . . . . . . . . . . . . 426 V mplot3d 431 38 Matplotlib mplot3d toolkit 433 38.1 mplot3d tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 38.2 mplot3d API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 38.3 mplot3d FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 VI Toolkits 477 39 Basemap 481 40 GTK Tools 483 41 Excel Tools 485 42 Natgrid 487 43 mplot3d 489 44 AxesGrid 491 VII The Matplotlib API 493 45 Plotting commands summary 495 46 API Changes 503 46.1 Changes in 1.2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 46.2 Changes in 1.1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 46.3 Changes beyond 0.99.x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 46.4 Changes in 0.99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 46.5 Changes for 0.98.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 46.6 Changes for 0.98.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 46.7 Changes for 0.98.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 46.8 Changes for 0.91.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 46.9 Changes for 0.91.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 vi 46.10 Changes for 0.91.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 46.11 Changes for 0.90.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 46.12 Changes for 0.90.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 46.13 Changes for 0.87.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 46.14 Changes for 0.86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 46.15 Changes for 0.85 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 46.16 Changes for 0.84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 46.17 Changes for 0.83 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 46.18 Changes for 0.82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 46.19 Changes for 0.81 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 46.20 Changes for 0.80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 46.21 Changes for 0.73 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 46.22 Changes for 0.72 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 46.23 Changes for 0.71 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 46.24 Changes for 0.70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 46.25 Changes for 0.65.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 46.26 Changes for 0.65 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 46.27 Changes for 0.63 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 46.28 Changes for 0.61 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 46.29 Changes for 0.60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 46.30 Changes for 0.54.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 46.31 Changes for 0.54 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 46.32 Changes for 0.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 46.33 Changes for 0.42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 46.34 Changes for 0.40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 47 configuration 535 47.1 matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 48 afm (Adobe Font Metrics interface) 539 48.1 matplotlib.afm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 49 animation 543 49.1 matplotlib.animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 50 artists 549 50.1 matplotlib.artist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 50.2 matplotlib.lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 50.3 matplotlib.patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 50.4 matplotlib.text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605 51 axes 617 51.1 matplotlib.axes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 52 axis 789 52.1 matplotlib.axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789 53 backends 799 53.1 matplotlib.backend_bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 vii 53.2 matplotlib.backends.backend_gtkagg . . . . . . . . . . . . . . . . . . . . . . . . . 817 53.3 matplotlib.backends.backend_qt4agg . . . . . . . . . . . . . . . . . . . . . . . . . 818 53.4 matplotlib.backends.backend_wxagg . . . . . . . . . . . . . . . . . . . . . . . . . . 818 53.5 matplotlib.backends.backend_pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . 819 53.6 matplotlib.dviread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822 53.7 matplotlib.type1font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824 54 cbook 827 54.1 matplotlib.cbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 55 cm (colormap) 837 55.1 matplotlib.cm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 56 collections 841 56.1 matplotlib.collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 57 colorbar 855 57.1 matplotlib.colorbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 58 colors 859 58.1 matplotlib.colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859 59 dates 867 59.1 matplotlib.dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867 60 figure 875 60.1 matplotlib.figure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875 61 font_manager 895 61.1 matplotlib.font_manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895 61.2 matplotlib.fontconfig_pattern. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900 62 gridspec 903 62.1 matplotlib.gridspec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 63 legend 907 63.1 matplotlib.legend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907 64 mathtext 911 64.1 matplotlib.mathtext. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913 65 mlab 927 65.1 matplotlib.mlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 66 nxutils 951 66.1 matplotlib.nxutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951 67 path 953 67.1 matplotlib.path. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953 viii 68 pyplot 959 68.1 matplotlib.pyplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959 69 sankey 1137 69.1 matplotlib.sankey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 70 spines 1145 70.1 matplotlib.spines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145 71 ticker 1149 71.1 matplotlib.ticker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149 72 tight_layout 1157 72.1 matplotlib.tight_layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157 73 units 1159 73.1 matplotlib.units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1159 74 widgets 1161 74.1 matplotlib.widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161 VIII Glossary 1171 Python Module Index 1175 Index 1177
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值