如何在 python 中扩展子图

How to expand subplots in python

我正在尝试使用以下代码创建多个子图(7*4 行*列):

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(100)
y = np.arange(100)

for i in range(28):
    plt.subplot(4, 7, i+1)
    plt.scatter(x, y)

plt.tight_layout()
plt.show()

它会一起生成所有子图,但在各个图形周围留有很大的边距:

如果我省略 tight_layout() 则它们靠得更近,但在顶部、底部、右侧和左侧有很大的边距:

如何减少或删除图形之间以及图形周围多余的 space?

您可以使用 subplots_adjust 方法,根据需要调整 wspacehspace 参数(分别为宽度 space 和高度 space) :

for i in range(28):
    plt.subplot(4, 7, i+1)
    plt.scatter(x, y)

plt.subplots_adjust(wspace=1, hspace=1)

来自documentation,这些是"expressed as a fraction of the average axis width/height"