matplotlib 中 figsize 和 fig.add_axes 的区别

Difference between figsize and fig.add_axes in matplotlib

我正在学习 matplotlib 库。我不明白的一件事是 figsizefig.add_axes([0,0,x,x]) 都在做同样的事情,不是吗?

例如:

fig1 = plt.figure(figsize=(8,2))
ax1 = fig.add_axes([0,0,2,2])

fig2 = plt.figure(figsize=(17,4))
ax2 = fig.add_axes([0,0,0.8,0.8])

两者都在生产相同的地块。那么两者的区别在哪里呢?

图形是轴的容器:

  • figsize 参数设置外部图形尺寸 (width, height)(以英寸为单位)。

  • fig.add_axes() 方法以 figsize.[=23= 的分数设置内轴尺寸 [left, bottom, width, height] ]

所以第一个例子创建了一个8×2外图,轴为16×48*22*2):

fig1 = plt.figure(figsize=(8,2))
ax1 = fig.add_axes([0,0,2,2])

第二个例子创建了一个17×4外图,轴为13.6×3.217*0.84*0.8):

fig2 = plt.figure(figsize=(17,4))
ax2 = fig.add_axes([0,0,0.8,0.8])

所以这两个图形和坐标轴实际上是不同大小的

另请注意,您可能不想在实践中使用第一个示例,因为它创建的轴大于图形容器。