6
6
7
7
> 协议:[ CC BY-NC-SA 4.0] ( http://creativecommons.org/licenses/by-nc-sa/4.0/ )
8
8
9
- ` matplotlib.pyplot ` 是一个命令风格函数的集合,使` matplotlib ` 的机制更像 MATLAB。 每个绘图函数对图像进行一些更改 :例如,创建图像,在图像中创建绘图区域 ,在绘图区域绘制一些线条,使用标签装饰绘图等。在` matplotlib.pyplot ` 中,各种状态跨函数调用保存,以便跟踪诸如当前图像和绘图区域之类的东西 ,并且绘图函数始终指向当前轴域(请注意,这里和文档中的大多数位置中的『轴域』(axes)是指图像的一部分 (两条坐标轴围成的区域),而不是指代多于一个轴的严格数学术语)。
9
+ ` matplotlib.pyplot ` 是一个命令风格函数的集合,使` matplotlib ` 的机制更像 MATLAB。 每个绘图函数对图形进行一些更改 :例如,创建图形,在图形中创建绘图区域 ,在绘图区域绘制一些线条,使用标签装饰绘图等。在` matplotlib.pyplot ` 中,各种状态跨函数调用保存,以便跟踪诸如当前图形和绘图区域之类的东西 ,并且绘图函数始终指向当前轴域(请注意,这里和文档中的大多数位置中的『轴域』(axes)是指图形的一部分 (两条坐标轴围成的区域),而不是指代多于一个轴的严格数学术语)。
10
10
11
11
``` py
12
12
import matplotlib.pyplot as plt
@@ -25,7 +25,7 @@ plt.show()
25
25
plt.plot([1 , 2 , 3 , 4 ], [1 , 4 , 9 , 16 ])
26
26
```
27
27
28
- 对于每个` x,y ` 参数对,有一个可选的第三个参数,它是指示图像颜色和线条类型的格式字符串 。 格式字符串的字母和符号来自 MATLAB,并且将颜色字符串与线型字符串连接在一起。 默认格式字符串为` "b-" ` ,它是一条蓝色实线。 例如,要绘制上面的红色圆圈,你需要执行:
28
+ 对于每个` x,y ` 参数对,有一个可选的第三个参数,它是指示图形颜色和线条类型的格式字符串 。 格式字符串的字母和符号来自 MATLAB,并且将颜色字符串与线型字符串连接在一起。 默认格式字符串为` "b-" ` ,它是一条蓝色实线。 例如,要绘制上面的红色圆圈,你需要执行:
29
29
30
30
``` py
31
31
import matplotlib.pyplot as plt
@@ -131,9 +131,9 @@ In [70]: plt.setp(lines)
131
131
... snip
132
132
```
133
133
134
- ## 处理多个图像和轴域
134
+ ## 处理多个图形和轴域
135
135
136
- MATLAB 和 pyplot 具有当前图像和当前轴域的概念 。 所有绘图命令适用于当前轴域。 函数` gca() ` 返回当前轴域(一个` matplotlib.axes.Axes ` 实例),` gcf() ` 返回当前图像 (` matplotlib.figure.Figure ` 实例)。 通常,你不必担心这一点,因为它都是在幕后处理。 下面是一个创建两个子图的脚本。
136
+ MATLAB 和 pyplot 具有当前图形和当前轴域的概念 。 所有绘图命令适用于当前轴域。 函数` gca() ` 返回当前轴域(一个` matplotlib.axes.Axes ` 实例),` gcf() ` 返回当前图形 (` matplotlib.figure.Figure ` 实例)。 通常,你不必担心这一点,因为它都是在幕后处理。 下面是一个创建两个子图的脚本。
137
137
138
138
``` py
139
139
import numpy as np
@@ -158,28 +158,28 @@ plt.show()
158
158
159
159
这里的`figure()`命令是可选的,因为默认情况下将创建`figure(1)`,如果不手动指定任何轴域,则默认创建`subplot(111)`。`subplot()`命令指定`numrows`,`numcols`,`fignum`,其中`fignum`的范围是从`1`到`numrows * numcols`。 如果`numrows * numcols <10`,则`subplot`命令中的逗号是可选的。 因此,子图`subplot(211)`与`subplot(2, 1, 1)`相同。 你可以创建任意数量的子图和轴域。 如果要手动放置轴域,即不在矩形网格上,请使用`axes()`命令,该命令允许你将`axes([left, bottom, width, height])`指定为位置,其中所有值都使用小数(0 到 1)坐标。 手动放置轴域的示例请参见[`pylab_examples`示例代码:`axes_demo.py`](http://matplotlib.org/examples/pylab_examples/axes_demo.html#pylab-examples-axes-demo),具有大量子图的示例请参见[`pylab_examples`示例代码:`subplots_demo.py`](http://matplotlib.org/examples/pylab_examples/subplots_demo.html#pylab-examples-subplots-demo)。
160
160
161
- 你可以通过使用递增图像编号多次调用 ` figure() ` 来创建多个图像 。 当然,每个数字可以包含所需的轴和子图数量:
161
+ 你可以通过使用递增图形编号多次调用 ` figure() ` 来创建多个图形 。 当然,每个数字可以包含所需的轴和子图数量:
162
162
163
163
``` py
164
164
import matplotlib.pyplot as plt
165
- plt.figure(1 ) # 第一个图像
166
- plt.subplot(211 ) # 第一个图像的第一个子图
165
+ plt.figure(1 ) # 第一个图形
166
+ plt.subplot(211 ) # 第一个图形的第一个子图
167
167
plt.plot([1 , 2 , 3 ])
168
- plt.subplot(212 ) # 第一个图像的第二个子图
168
+ plt.subplot(212 ) # 第一个图形的第二个子图
169
169
plt.plot([4 , 5 , 6 ])
170
170
171
171
172
- plt.figure(2 ) # 第二个图像
172
+ plt.figure(2 ) # 第二个图形
173
173
plt.plot([4 , 5 , 6 ]) # 默认创建 subplot(111)
174
174
175
- plt.figure(1 ) # 当前是图像 1,subplot(212)
176
- plt.subplot(211 ) # 将第一个图像的 subplot(211) 设为当前子图
175
+ plt.figure(1 ) # 当前是图形 1,subplot(212)
176
+ plt.subplot(211 ) # 将第一个图形的 subplot(211) 设为当前子图
177
177
plt.title(' Easy as 1, 2, 3' ) # 子图 211 的标题
178
178
```
179
179
180
- 你可以使用` clf() ` 清除当前图像 ,使用` cla() ` 清除当前轴域。 如果你搞不清在幕后维护的状态(特别是当前的图像和轴域 ),不要绝望:这只是一个面向对象的 API 的简单的状态包装器,你可以使用面向对象 API(见[ 艺术家教程] ( http://matplotlib.org/users/artists.html#artist-tutorial ) )。
180
+ 你可以使用` clf() ` 清除当前图形 ,使用` cla() ` 清除当前轴域。 如果你搞不清在幕后维护的状态(特别是当前的图形和轴域 ),不要绝望:这只是一个面向对象的 API 的简单的状态包装器,你可以使用面向对象 API(见[ 艺术家教程] ( http://matplotlib.org/users/artists.html#artist-tutorial ) )。
181
181
182
- 如果你正在制作大量的图像 ,你需要注意一件事:在一个图像用 ` close() ` 显式关闭之前,该图所需的内存不会完全释放。 删除对图像的所有引用 ,和/或使用窗口管理器杀死屏幕上出现的图像的窗口是不够的 ,因为在调用` close() ` 之前,` pyplot ` 会维护内部引用。
182
+ 如果你正在制作大量的图形 ,你需要注意一件事:在一个图形用 ` close() ` 显式关闭之前,该图所需的内存不会完全释放。 删除对图形的所有引用 ,和/或使用窗口管理器杀死屏幕上出现的图形的窗口是不够的 ,因为在调用` close() ` 之前,` pyplot ` 会维护内部引用。
183
183
184
184
## 处理文本
185
185
@@ -224,7 +224,7 @@ t = plt.xlabel('my data', fontsize=14, color='red')
224
224
plt.title(r ' $ \s igma_i=15$ ' )
225
225
```
226
226
227
- 标题字符串之前的` r ` 很重要 - 它表示该字符串是一个原始字符串,而不是将反斜杠作为 python 转义处理。 ` matplotlib ` 有一个内置的 TeX 表达式解析器和布局引擎,并且自带了自己的数学字体 - 详细信息请参阅[ 编写数学表达式] ( http://matplotlib.org/users/mathtext.html#mathtext-tutorial ) 。 因此,你可以跨平台使用数学文本,而无需安装 TeX。 对于安装了 LaTeX 和` dvipng ` 的用户,还可以使用 LaTeX 格式化文本,并将输出直接合并到显示图像或保存的 postscript 中 - 请参阅[ 使用 LaTeX 进行文本渲染] ( http://matplotlib.org/users/usetex.html#usetex-tutorial ) 。
227
+ 标题字符串之前的` r ` 很重要 - 它表示该字符串是一个原始字符串,而不是将反斜杠作为 python 转义处理。 ` matplotlib ` 有一个内置的 TeX 表达式解析器和布局引擎,并且自带了自己的数学字体 - 详细信息请参阅[ 编写数学表达式] ( http://matplotlib.org/users/mathtext.html#mathtext-tutorial ) 。 因此,你可以跨平台使用数学文本,而无需安装 TeX。 对于安装了 LaTeX 和` dvipng ` 的用户,还可以使用 LaTeX 格式化文本,并将输出直接合并到显示图形或保存的 postscript 中 - 请参阅[ 使用 LaTeX 进行文本渲染] ( http://matplotlib.org/users/usetex.html#usetex-tutorial ) 。
228
228
229
229
## 标注文本
230
230
0 commit comments