我已经使用 matplotlib 一段时间了,但我实际上并不明白这一行的作用。
fig, ax = plt.subplots()
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
plt.subplots()基本上是初始化图形和子图轴的(非常好的)快捷方式。请参阅此处的文档。尤其,
>>> fig, ax = plt.subplots(1, 1)
Run Code Online (Sandbox Code Playgroud)
本质上相当于
>>> fig = plt.figure()
>>> ax = fig.add_subplot(1, 1)
Run Code Online (Sandbox Code Playgroud)
但plt.subplots()对于一次构造多个轴最有用,例如,
>>> fig, axes = plt.subplots(2, 3)
Run Code Online (Sandbox Code Playgroud)
制作一个包含 2 行和 3 列子图的图形,本质上相当于
>>> fig = plt.figure()
>>> axes = np.empty((2,3))
>>> for i in range(2):
... for j in range(3):
... axes[i,j] = fig.add_subplot(2, 3, (i*j)+j+1)
Run Code Online (Sandbox Code Playgroud)
我说“本质上”是因为它plt.subplots()还有一些不错的功能,比如sharex=True强制每个子图共享相同的 x 轴(即相同的轴限制/比例等)。这是我最喜欢的初始化图形的方法,因为它可以在一条平滑的线上为您提供图形和所有轴手柄。