加入下面可设置紧致布局,去掉多余的空白地方,对于有subplot的可以自动调整子图间的布局,防止重叠
plt.tight_layout()
见下面例子:
import matplotlib.pyplot as plt
from numpy.random import multivariate_normal
X = multivariate_normal(mean=[0, 0],
cov=[[1, -0.8],
[-0.8, 1]],
size=200)
# 设置显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.subplot(2, 2, 1)
plt.scatter(X[:, 0], X[:, 1])
plt.title('二维正态分布1')
plt.subplot(2, 2, 2)
plt.scatter(X[:, 0], X[:, 1])
plt.title('二维正态分布2')
plt.subplot(2, 2, 3)
plt.scatter(X[:, 0], X[:, 1])
plt.title('二维正态分布3')
plt.subplot(2, 2, 4)
plt.scatter(X[:, 0], X[:, 1])
plt.title('二维正态分布4')
# 紧致布局
plt.tight_layout()
plt.show()
下图未设置紧致布局,可以看到子图之间重叠
下图为设置紧致布局效果