自动调整python里子图间距的代码,一共4个子图
时间: 2024-03-23 14:39:57 浏览: 64
以下是一个例子,展示如何使用matplotlib中的`gridspec`模块,来自动调整4个子图间距:
```python
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
fig = plt.figure(figsize=(10, 8))
gs = gridspec.GridSpec(2, 2, width_ratios=[1, 1], height_ratios=[1, 1])
ax1 = fig.add_subplot(gs[0, 0])
ax1.plot([1, 2, 3], [4, 5, 6])
ax1.set_title('Plot 1')
ax2 = fig.add_subplot(gs[0, 1])
ax2.plot([4, 5, 6], [1, 2, 3])
ax2.set_title('Plot 2')
ax3 = fig.add_subplot(gs[1, 0])
ax3.plot([1, 3, 5], [2, 4, 6])
ax3.set_title('Plot 3')
ax4 = fig.add_subplot(gs[1, 1])
ax4.plot([1, 4, 7], [8, 5, 2])
ax4.set_title('Plot 4')
gs.update(wspace=0.3, hspace=0.5)
plt.show()
```
在这个例子中,我们使用了`gridspec`模块来创建一个2行2列的网格,每个子图的宽度和高度比例分别为1:1。`add_subplot`方法用于添加子图,`set_title`方法用于设置子图标题。最后,我们使用`gs.update`方法来调整子图之间的间距,其中`wspace`和`hspace`参数分别控制水平和垂直方向的间距。
阅读全文