我需要在一个循环内绘制两个图,每个图都有多个子图。以下是当只有一个图时的操作:
我正在进行绘图,其中包括两个图形,每个图形都有多个子图。我需要在单个循环内完成此操作。当只有一个图形时,我执行以下操作:
fig, ax = plt.subplots(nrows=6,ncols=6,figsize=(20, 20))
fig.subplots_adjust(hspace=.5,wspace=0.4)
plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)
for x in range(1,32):
plt.subplot(6,6,x)
plt.title('day='+str(x))
plt.scatter(x1,y1)
plt.scatter(x2,y2)
plt.colorbar().set_label('Distance from ocean',rotation=270)
plt.savefig('Plots/everyday_D color.png')
plt.close()
现在我知道当你有多个图形时,你需要像这样做:
fig1, ax1 = plt.subplots()
fig2, ax2 = plt.subplots()
但我不知道如何在循环中绘制图表,以便每个子图都在其位置上(因为如果有两个图形,则不能继续执行plt.scatter)。 请具体说明我需要做什么(关于是fig1.scatter、ax1.scatter、fig.subplots_adjust等,以及如何在最后保存和关闭)
但我不知道如何在循环中绘制图表,以便每个子图都在其位置上(因为如果有两个图形,则不能继续执行plt.scatter)。请具体说明我需要做什么(关于是fig1.scatter、ax1.scatter、fig.subplots_adjust等,以及如何在最后保存和关闭)
ax1
和ax2
是Matplotlib的轴。enumerate
是在循环中获取索引的简单方法。也许这个链接对于更好地理解enumerate
有所帮助。我也更新了答案。 - ImportanceOfBeingErnest