Благодаря комментарию @ Patol75, я изменил код на:
fig1, axs1 = plt.subplots(2,2)
fig2, axs2 = plt.subplots(2,2)
# generate 4 datasets in a for loop
for i in range(4):
x,y = createRandomData(parameters)
fit1 = doFit1(x,y)
axs1[i//2,i%2].plot(x,y,color='black',linewidth = 1)
axs1[i//2,i%2].plot(x,fit1,color='green',linewidth = 1)
fit2 = doFit2(x,y)
axs2[i//2,i%2].plot(x,y,color='black',linewidth = 1)
axs2[i//2,i%2].plot(x,fit2,color='green',linewidth = 1)
fig1.set_size_inches(12,8)
fig1.savefig('dataWithFit1.png', dpi=200)
fig1.show()
fig2.set_size_inches(12,8)
fig2.savefig('dataWithFit2.png', dpi=200)
plt.show()
Также в последней команде plot была опечатка (должна отображать fit2 вместо fit1), введенную при «псевдофинировании» код для сообщения.
Теперь он показывает и сохраняет цифры правильно. Тем не менее, я все еще получаю предупреждение UserWarning: Matplotlib is currently using module://ipykernel.pylab.backend_inline, which is a non-GUI backend, so cannot show the figure.
в ноутбуке Jupyter. Итак, если кто-то из вас имеет какое-либо представление об этом, пожалуйста, добавьте комментарий для полноты.