Вступление
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
у нас есть файл (saved_figure.png) в каталоге нашего
проекта.
Этот файл содержит точно такое же изображение, которое мы бы показывали в окне:
{.ezlazyload}
Стоит отметить, что 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
, bbox_inches
, quality
и т. Д.
Мы рассмотрим некоторые популярные варианты в следующих разделах.
Настройка разрешения изображения
Параметр 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:
{.ezlazyload}
Значение по умолчанию - 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)
Если мы поместим это изображение на темный фон, это приведет к:
{.ezlazyload}
Изменение цвета графика
Вы можете изменить цвет лица, используя аргумент facecolor
Он
принимает color
и по умолчанию используется white
.
Изменим его на red
:
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')
Это приводит к:
{.ezlazyload}
Настройка поля границы изображения
bbox_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')
В результате получается плотно упакованная коробка. Это легче визуализировать, если для справки раскрасить лицо другим цветом:
{.ezlazyload}
Заключение
В этом уроке мы рассмотрели несколько способов сохранить график в виде файла изображения с помощью Matplotlib.
Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в Python{.ebook-link} :
::: {style=“border: 1px solid #ebebeb;padding: 15px;”} {.ebook-link}
Визуализация данных в Python
::: {.row} ::: {.col-md-4 .col-xs-12} {.ezlazyload .img-responsive .center-block} :::
::: {.col-md-8 .col-xs-12 .my-auto} Ограниченная по времени скидка: 2 к 1, сэкономьте 50%!
✅ 30-дневная гарантия возврата денег без вопросов
✅ от начального до продвинутого
✅ Регулярно обновляется бесплатно (последнее обновление в апреле 2021 г.)
✅ Обновлено с бонусными ресурсами и руководствами ::: ::: :::
Визуализация данных в Python с помощью Matplotlib и Pandas - это книга, предназначенная для абсолютных новичков в работе с Pandas и Matplotlib с базовыми знаниями Python и позволяющая им создать прочную основу для расширенной работы с этими библиотеками - от простых графиков до анимированных трехмерных графиков с интерактивными кнопки.
Он служит подробным руководством, которое научит вас всему, что вам нужно знать о Pandas и Matplotlib, в том числе о том, как создавать типы графиков, которые не встроены в саму библиотеку.
Книга «Визуализация данных в Python» , книга для начинающих и средних разработчиков Python, проведет вас через простые манипуляции с данными с помощью Pandas, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. В частности, на протяжении 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.
Он служит уникальным практическим руководством по визуализации данных в виде множества инструментов, которые вы можете использовать в своей карьере.