Чтобы сохранить график с помощью matplotlib:
- Создайте график.
- Дайте ему название.
- Вызовите
matplotlib.pyplot.savefig()и передайте имя будущего файла в качестве аргумента.
plt.savefig('myplot')
Вот пример, в котором скрипт сохраняет график в ту же папку:


Чтобы вы могли самостоятельно проверить работоспособность скрипта, вот код:
import matplotlib.pyplot as plt
year = ['2018', '2019', '2020', '2021', '2022']
searchvolume = [14, 96, 23, 51, 68]
plt.bar(year, searchvolume)
plt.savefig("chart.png")
Вот как легко сохранять графики с помощью matplotlib.
Однако я рекомендую также ознакомиться с советами по сохранению графиков в matplotlib.
Советы по использованию функции savefig()
Вот три совета, как сделать сохранение более удобным.
Совет 1: Укажите формат файла
При сохранении графика можно указать тип сохраняемого файла, указав в аргументе расширение файла.
Например:
plt.savefig('example.pdf')
plt.savefig('example.png')
Вот все поддерживаемые форматы:
Совет 2: Удалите пустые области
Чаще всего вокруг нарисованного изображения остается лишнее неиспользованное пространство.
Вы можете избавиться от него, сделав ограничительную рамку узкой:
plt.savefig('example.png', bbox_inches='tight')
Здесь вы можете увидеть сравнение. На рисунке слева много лишнего белого пространства. Но когда параметр bbox_inches установлен на "tight", белая область исчезает.


Совет 3: Не оставляйте файлы открытыми
В некоторых случаях, помимо сохранения файла, он также открывается, независимо от того, указывали ли вы это.
Если вы создаете и сохраняете множество файлов, вы определенно не захотите оставлять их открытыми.
Чтобы не открывать графики matplotlib, вы можете использовать функцию matplot.pyplot.close().
plt.close(fig)
Например:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(nrows=1, ncols=1)
ax.plot([0, 1, 2, 3], [5, 7, 3, 8])
fig.savefig('example2.png')
plt.close(fig)
Заключение
Сегодня вы узнали как сохранить график, сделанный в matplotlib.
Спасибо за прочтение.
Счастливого кодинга!
Перевод статьи «Matplotlib How to Save a Plot»
