7.1. Параметры файлового вывода

Помимо поддержки различных графических форматов matplotlib позволяет контролировать множество параметров сохраняемых изображений.

dpi

Данный параметр задает разрешение сохраняемого рисунка. По умолчанию соотношение сторон области Figure составляет 4:3 или 8x6 пространственных единиц, одна такая единица соответствует 100 пикселям (px). Поэтому все сохраняемые файлы имеют размеры 800x600 px. Если указать dpi = 200 то одной такой единице будет соответствовать уже 200 px, а размеры конечного изображения будут равны 8*200x6*200 = 1600x1200 px. Параметр dpi может принимать любые целые значения больше 0:

import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-3, 3, 200)
y = x*(x + 2)*(x - 2)

fig, ax = plt.subplots()

ax.plot(x, y)

fig.savefig('мой график dpi 600.png', dpi = 600)

В директории с исполняемым скриптом вы обнаружите файл мой график dpi 600.png с достаточно хорошим разрешением.

quality

Формат png считается своего рода стандартом, но если вам вдруг понадобилось сохранить график в формате jpg или jpeg, то задать качество сохраняемого изображения задается параметром quality, который может принимать значения в диапазоне от 1 до 100:

import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-3, 3, 200)
y = x*(x + 2)*(x - 2)

fig, ax = plt.subplots()

ax.plot(x, y)

plt.show()

fig.savefig('мой график quality 70.jpg', quality = 70)
fig.savefig('мой график quality 95.jpg', quality = 95)
fig.savefig('мой график quality 99.jpg', quality = 99)
fig.savefig('мой график quality 100.jpg', quality = 100)

transparent

Делает прозрачными области Figure и Axes, что очень полезно если вам необходимо разместить график поверх фона презентации или web-страницы:

import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-3, 3, 200)
y = x*(x + 2)*(x - 2)

fig, ax = plt.subplots()

ax.plot(x, y)

plt.show()

fig.savefig('мой график transparent.png',
            transparent = True)