Библиотека Matplotlib для построения графиков, диаграмм и 3D-моделей
Библиотека Matplotlib для построения графиков, диаграмм и 3D-моделей
Рассказываем, как с помощью коротких команд строить графики, присваивать заголовки, визуализировать функции и применять другие способы форматирования с помощью инструментов библиотеки Matplotlib.
Matplotlib — это библиотека с открытым исходным кодом для визуализации данных в Python. С помощью неё можно создавать точечные и круговые диаграммы, линейные графики, гистограммы, диаграммы ошибок, 3D-графики. Готовые результаты визуализации можно экспортировать в форматах PDF, SVG, JPG, PNG, BMP и GIF.
Для работы с Matplotlib не требуются сложные протоколы. Библиотека помогает визуализировать большие объёмы данных с помощью коротких команд. Поэтому Matplotlib используют как замену MATLAB, более сложного инструмента для визуализации.
Научиться визуализировать данные можно на курсе «Аналитик данных». За семь месяцев студенты при поддержке опытных наставников и кураторов освоят язык программирования Python, научатся проводить А/B-тесты, использовать библиотеку Matplotlib и др. По окончании курса студенты получат диплом о профессиональной переподготовке.
Полный список графиков и диаграмм есть на сайте Matplotlib. Мы рассмотрим некоторые из них.
● Диаграмма рассеяния — отображение взаимосвязи между двумя переменными. Каждый объект данных представлен точкой на графике, где координаты точки соответствуют значениям этих переменных. Библиотека matplotlib предоставляет метод scatter(), который помогает проиллюстрировать взаимозависимость между переменными и то, как изменения одной переменной могут повлиять на другую.
Так может выглядеть диаграмма рассеяния в Matplotlib. Такой тип диаграммы подходит для визуализации, например, разницы между возрастом клиента и его доходами или соотношения вакансий и претендентов на место. Источник
● Столбчатая диаграмма — визуализация категориальных данных. Она отображает значения в виде прямоугольников, высота которых соответствует количеству или величине для каждой категории. Столбчатые диаграммы подходят для визуализации динамики, рейтингов, соотношений между несколькими величинами, например выручки в двух магазинах.
Пример столбчатой диаграммы в Matplotlib. Источник
● Круговая диаграмма — визуализация пропорций категориальных данных. Она показывает доли каждой категории от общего количества. Круговая диаграмма подходит для визуализации, например, доли на рынке, продаж, опрошенных.
Библиотека matplotlib предоставляет метод pie(), с помощью которого можно создать круговую диаграмму с переменными и вложенную диаграмму. Это можно сделать, наложив несколько круговых диаграмм с разными радиусами. Внешняя круговая диаграмма будет включать основные категории, а внутренняя — подкатегории. Такую структуру обычно применяют для отображения коэффициентов внутри коэффициентов.
Пример круговой диаграммы в Matplotlib. Источник
● Линейный график — визуальное представление данных, где точки данных соединены линиями. Он обычно используется для отображения изменений значений переменной по отношению к другой переменной, например времени. Линейные графики подходят, например, для анализа трендов или изменения котировок ценных бумаг.
Пример линейного графика в Matplotlib. Источник
● 3D-графики — визуализация трёхмерных объектов и сцен с помощью компьютерной графики. Такие графики подходят, например, для визуализации реалистичных персонажей и окружения, объектов.
Пример 3D-графика в Matplotlib. Источник
Установить Matplotlib нужно вместе с пакетом Pyplot — модулем библиотеки Matplotlib в Python. Он помогает встраивать в графики различные компоненты без применения длинных кодов. Например, можно создавать метки, линии, точки и т. д. В коде Pyplot отображается как matplotlib.pyplot.
В некоторых программах Matplotlib и Pyplot установлены по умолчанию. Например, в Google Colab и Jupyter Notebook библиотека и модуль уже есть. Для других программ есть короткие команды для импорта Matplotlib и Pyplot:
pip3 install matplotlib — импорт Matplotlib.
import matplotlib.pyplot as plt — импорт Pyplot.
Рассмотрим настройки диаграммы рассеивания, столбчатой и круговой диаграмм, линейного и 3D-графиков.
● Диаграмма рассеивания. Для примера создадим диаграмму рассеивания с координатами X и Y, точки будут отображены синим цветом.
● Столбчатая диаграмма. Для примера создадим диаграмму количества проданных товаров в пяти филиалах магазина: A (23 шт.), B (45 шт.), C (12 шт.), D (67 шт.), E (34 шт.). Код будет таким:
● Круговая диаграмма. Создадим диаграмму с марками машин: [AUDI, BMW, FORD, TESLA, JAGUAR, MERCEDES]. Каждая марка автомобиля имеет свою долю на диаграмме: [23, 17, 35, 29, 12, 41]. Код будет таким:
Так выглядит круговая диаграмма с марками автомобилей. Источник
● Линейный график. Для примера визуализируем функцию y = f(x), где x = 0, 10, 1000. Код будет таким:
Так выглядит линейный график функции. Источник
● 3D-график. Для примера создадим пружину в 3D-формате. Для этого нужно импортировать набор инструментов mplot3d. После этого настроить оси, сетку и метки. Код будет таким:
Пример 3D-фигуры с помощью библиотеки Matplotlib. Источник
Рассмотрим на примерах, как применять возможности библиотеки: присваивание заголовков, создание осей и меток, изменение частей элементов или расстояния между элементами, трёхмерные модели.
● Диаграмма рассеивания с заголовком и метками осей. Создадим диаграмму с помощью Matplotlib и NumPy — он генерирует случайные данные для координат x и y, цветов и размеров. Настроим свойства — цвет, размер, прозрачность и цветовую карту. График будет включать заголовок, метки осей и шкалу интенсивности цвета.
# Импорт NumPy.
# Генерация случайных данных.
# Заголовок и метки осей.
# Отображение шкалы интенсивности цвета.
# Результат.
● Столбчатая диаграмма с форматированием расстояния между столбцами. Для этого в функцию plt.bar нужно добавить ширину (width). Допустим, ширина между столбцами будет 0,5. Код будет таким:
● Линейный график с заголовками и метками осей. Для быстрого добавления заголовков и осей используем код:
Пример линейного графика с заголовком. Источник
● Трёхмерная диаграмма рассеивания. Для примера пропишем переменные: 50 точек данных для x, y и z; цвет — красный. Код будет таким:
Пример построения трёхмерной диаграммы рассеивания. Источник
● Диаграмма рассеивания с несколькими наборами данных. Для примера возьмём два разных набора данных, каждый из которых имеет свой набор координат x и y:
1. x1 = [89, 43, 36, 36, 95, 10, 66, 34, 38, 20]; y1 = [21, 46, 3, 35, 67, 95, 53, 72, 58, 10].
2. x2 = [26, 29, 48, 64, 6, 5, 36, 66, 72, 40]; y2 = [26, 34, 90, 33, 38,20, 56, 2, 47, 15].
Диаграмма рассеяния с несколькими наборами данных. Источник
Читать также: