两种画图接口
Matplotlib有两种画图接口:一个是类似MATLAB风格接口,另一个是功能更强大的面向对象接口。
MATLAB风格接口
这种接口是有状态的(stateful)。这个接口更偏向数学家的思维,不需要太多的编程背景就能掌握。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
# 准备开始画图
plt.figure()
# 共2个子图,选中第1行第1列的子图
plt.subplot(2, 1, 1)
plt.plot(x, np.sin(x))
# 共2个子图,选中第1行第2列的子图
plt.subplot(2, 1, 2)
plt.plot(x, np.cos(x))
面向对象接口
面向对象接口更加强大,可以更灵活地控制我们的图形。代码如下:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
# 准备开始画图
fig, ax = plt.subplots(2)
# 在每个子图上分别绘制
ax[0].plot(x, np.sin(x))
ax[1].plot(x, np.cos(x))