1. figure语法及操作
1.1. figure语法说明
1 | figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True) |
实例:1
2
3
4import matplotlib.pyplot as plt
#创建自定义图像
fig = plt.figure(figsize=(4, 3), facecolor='blue')
plt.show()
2. subplot创建单个子图
2.1. subplot语法
1 | suplot(nrows, ncols, sharex, sharey, subplot_kw, **fig_kw) |
subplot可以规划figure划分为n个子图,但每条subplot命令只会创建一个子图,参考下面例子:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#作图1
plt.subplot(221)
plt.plot(x, x)
#作图2
plt.subplot(222)
plt.plot(x, -x)
#作图3
plt.subplot(223)
plt.plot(x, x ** 2)
plt.grid(color='r', linestyle='--', linewidth=1, alpha=0.3)
#作图4
plt.subplot(224)
plt.plot(x, np.log(x))
plt.show()
3. subplots创建多个子图
3.1. subplots语法
subplots参数与subplot相似。
实例:
1 | import numpy as np |
4. 面向对象API:add_subplots与add_axes新增子图或区域
add_subplots与add_axes都是面向对象figure编程的,pyplot api中没有此命令。
4.1. add_subplot新增子图
add_subplot的参数与subplots的相似。
实例1:1
2
3
4
5
6
7
8
9
10
11
12
13import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#新建figure对象
fig = plt.figure()
#新建子图1
ax1 = fig.add_subplot(2, 2, 1)
ax1.plot(x, x)
#新建子图3
ax3 = fig.add_subplot(2, 2, 3)
ax3.plot(x, x ** 2)
ax3.grid(color='r', linestyle='--', linewidth=1, alpha=0.3)
4.2. add_axes新增子区域(图中图)
add_axes为新增子区域,该区域可以坐落在figure内任意位置,且该区域可任意设置大小。
add_axes参数可参考官方文档:add_axes参数
实例:
1 | import numpy as np |