Сохранение графика в Matplotlib

Чтобы сохранить график с помощью matplotlib:

  1. Создайте график.
  2. Дайте ему название.
  3. Вызовите 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”