Автор оригинала: David Landup.
Вступление
Matplotlib – одна из наиболее широко используемых библиотек визуализации данных в Python. Сюжеты и визуализации Matplotlib обычно делятся с другими, будь то в газетах или в Интернете.
В этой статье мы рассмотрим, как сохранить график/график в виде файла изображения с помощью Matplotlib .
Создание сюжета
Давайте сначала создадим простой сюжет:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y = np.sin(x) plt.plot(x, y) plt.show()
Здесь мы построили синусоидальную функцию, начиная с 0
и кончается на 10
с шагом 0.1
. Запуск этого кода дает:
Теперь давайте посмотрим, как мы можем сохранить эту фигуру в виде изображения.
Сохранить сюжет как изображение в Matplotlib
В предыдущем примере мы сгенерировали график с помощью функции plot ()
, передавая данные, которые мы хотели бы визуализировать.
Этот график генерируется, но не показывается нам, если мы не вызовем функцию show ()
. Функция show ()
, как следует из названия, показывает сгенерированный график пользователю в окне.
После создания мы также можем сохранить этот рисунок/график в виде файла – используя функцию savefig()
:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y = np.sin(x) plt.plot(x, y) plt.savefig('saved_figure.png')
Теперь, когда мы запускаем код, вместо всплывающего окна с сюжетом у нас есть файл ( saved_figure.png
) в каталоге вашего проекта.
Этот файл содержит точно такое же изображение, которое будет показано в окне:
Стоит отметить, что функция savefig()
не является уникальной для экземпляра plt
. Вы также можете использовать его на объекте Figure
:
import matplotlib.pyplot as plt import numpy as np fig = plt.figure() x = np.arange(0, 10, 0.1) y = np.sin(x) plt.plot(x, y) fig.savefig('saved_figure.png')
Функция savefig()
имеет обязательный аргумент filename
. Здесь мы указали имя файла и формат.
Кроме того, он принимает другие параметры, такие как dpi
, transparent
, box_inches
, quality
и т. Д.
Мы рассмотрим некоторые популярные варианты в следующих разделах.
Настройка DPI изображения
Параметр DPI определяет количество точек (пикселей) на дюйм. Это, по сути, разрешение изображения, которое мы производим. Давайте протестируем несколько различных вариантов:
import matplotlib.pyplot as plt import numpy as np fig = plt.figure() x = np.arange(0, 10, 0.1) y = np.sin(x) plt.plot(x, y) fig.savefig('saved_figure-50pi.png', dpi = 50) fig.savefig('saved_figure-100dpi.png', dpi = 100) fig.savefig('saved_figure-1000dpi.png', dpi = 1000)
Это приводит к появлению трех новых файлов изображений на вашем локальном компьютере, каждый из которых имеет свой DPI:
Значение по умолчанию равно 100
.
Сохраните прозрачное изображение с помощью Matplotlib
Аргумент transparent
можно использовать для создания графика с прозрачным фоном. Это полезно, если вы будете использовать графическое изображение в презентации, на бумаге или хотите представить его в пользовательском дизайне:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y = np.sin(x) plt.plot(x, y) plt.savefig('saved_figure.png', transparent=True)
Если мы поместим это изображение на темный фон, это приведет к:
Изменение Цвета Участка
Вы можете изменить цвет лица с помощью аргумента face color
. Он принимает цвет
и по умолчанию белый
.
Давайте изменим его на красный
:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y = np.sin(x) plt.plot(x, y) plt.savefig('saved_figure-colored.png', facecolor = 'red')
Это приводит к:
Установка Рамки Изображения
Аргумент box_inches
принимает строку и указывает границу вокруг поля, которое мы строим. Если мы хотим установить его как tight
, то есть обрезать вокруг коробки как можно больше, мы можем установить аргумент bbox_inches
в 'tight'
:
import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y = np.sin(x) plt.plot(x, y) plt.savefig('saved_figure-tight.png', bbox_inches = 'tight', facecolor='red')
В результате получается плотно упакованная коробка. Это легче визуализировать, если мы покрасим лицо другим цветом для справки:
Вывод
В этом уроке мы рассмотрели несколько способов сохранения графика в виде файла изображения с помощью Matplotlib.
Если вы заинтересованы в визуализации данных и не знаете, с чего начать, обязательно ознакомьтесь с нашей связкой книг on :
Визуализация данных в Python с Matplotlib и Pandas – это книга, предназначенная для того, чтобы познакомить абсолютных новичков с Pandas и Matplotlib, обладающих базовыми знаниями Python, и позволить им создать прочную основу для продвинутой работы с библиотеками тезисов-от простых сюжетов до анимированных 3D-сюжетов с интерактивными кнопками.
Он служит углубленным руководством, которое научит вас всему, что вам нужно знать о пандах и Matplotlib, включая то, как создавать типы сюжетов, которые не встроены в саму библиотеку.
Визуализация данных в Python , книга для начинающих и промежуточных разработчиков Python, проведет вас через простую манипуляцию данными с Пандами, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет вам, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. Более конкретно, в течение 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.
Он служит уникальным практическим руководством по визуализации данных, в изобилии инструментов, которые вы могли бы использовать в своей карьере.