pyplot отслеживает «текущую фигуру», и функции, вызываемые в библиотеке, которые требуют фигуры, работают с ней, но вы также можете быть более явным, вызывая savefig()
для объекта фигуры.
в качестве примера из https://pythonspot.com/matplotlib-save-figure-to-image-file/:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
y = [2,4,6,8,10,12,14,16,18,20]
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
ax.plot(x, y, label='$y = numbers')
plt.title('Legend inside')
ax.legend()
#plt.show()
fig.savefig('plot.png')
Явное указание таким образом должно решить вашу проблему.
Для ссылок на функции pyplot, которые работают с текущим рисунок »см .: https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.html