Чтобы сохранить график с помощью 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”