考虑以下代码:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(19680801)
data = np.random.randn(2, 100)
fig, axs = plt.subplots(2, 2, figsize=(5, 5))
axs[0, 0].hist(data[0])
axs[1, 0].scatter(data[0], data[1])
axs[0, 1].plot(data[0], data[1])
axs[1, 1].hist2d(data[0], data[1])
plt.show()
我知道为了创建子图,您需要编写以下行:
fig, axs = plt.subplots(2, 2, figsize=(5, 5)
但是我的问题是关于这一行的含义,比如它通过生成变量Fig和axs实际上实现了什么,以及为什么后来我们使用ax[0,0]而不是fig[0,0]
最佳答案
fig
描述了整个图形,但本例中的 axs
指的是图形中的所有子图。由于您定义了 2 行和 2 列的子图,因此您可以使用 axs[0,0]
调用每个子图,左上角为 axs[0,0]
,底部为 axs[1,1]
右边的子图。为了更改子图的大小,您必须更改嵌入子图的整个图形的大小。
差异很微妙,但在一张图中可以找到多个子图或仅一个子图。因此,要绘制一条线,您需要在子图轴上而不是在图形上执行此操作。
关于matplotlib - Matplotlib 子图Fig 和axs 变量的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58562104/