如何将不同的绘图保存在同一个 png 文件中

How to save different plots in the same png file

我必须在同一个 PNG 文件中保存两个不同的散点图。这是我一直在尝试的代码:

chartFileName = "gragh.png"

import matplotlib.pyplot as plt

x=data['Goals']
y=data['Shots pg']

slope, intercept, rvalue, pvalue, se = scipy.stats.linregress(x, y)

yHat = intercept + slope * x

plt.plot(x, y, '.')
dataPlot=plt.plot(x, yHat, '-')
plt.xlabel("Goals", fontsize=14, labelpad=15)
plt.ylabel("Shots pg", fontsize=14, labelpad=15)
plt.show
plt.savefig(chartFileName)

x=data['Possession%']
y=data['Goals']

slope, intercept, rvalue, pvalue, se = scipy.stats.linregress(x, y)

yHat = intercept + slope * x

plt.plot(x, y, '.')
plt.plot(x, yHat, '-')
plt.xlabel("Possession%", fontsize=14, labelpad=15)
plt.ylabel("Goals", fontsize=14, labelpad=15)
plt.show
plt.savefig(chartFileName)

如果我尝试这样做,它只会保存第二个图,而不是两个图。

subplot可以帮到你。

chartFileName = "gragh.png"

fig = plt.figure()
ax1 = fig.add_subplot(2,1,1)
ax1.plot(x, y, '.')
ax1.set_xlabel("Goals", fontsize=14, labelpad=15)
ax1.set_ylabel("Shots pg", fontsize=14, labelpad=15)

ax2 = fig.add_subplot(2,1,2)
ax2.plot(x, yHat, '-')
ax2.set_xlabel("Possession%", fontsize=14, labelpad=15)
ax2.set_ylabel("Goals", fontsize=14, labelpad=15)

fig.savefig(chartFileName)