Любой отчет или презентация станет лучше, если добавить графики. Построить их можно с помощью библиотеки Matplotlib. Разбираемся, как установить ее и кастомизировать графики с помощью встроенных функций.
Что такое Matplotlib
Matplotlib — библиотека для визуализации данных на Python. С ее помощью можно создавать статические, анимационные и интерактивные графики, чтобы представлять данные в наглядной форме.

Обычно Matplotlib используют исследователи, ученые и аналитики. У библиотеки есть много преимуществ по сравнению с другими инструментами визуализации:
- Гибкость и настраиваемость. Позволяет делать графики любого типа — от простых линейных до сложных трехмерных визуализаций. Можно настраивать не только содержание, но и внешний вид — цвет, шрифт, размер.
- Легкость интеграции. Matplotlib работает с другими библиотеками на Python (NumPy, Pandas) и позволяет легко визуализировать данные из массивов и таблиц.
- Разные форматы вывода. Можно сохранять графики на компьютер в разных форматах: PNG, PDF, SVG.
- Поддержка. У библиотеки большое сообщество пользователей. Есть официальная Matplotlib-документация с подробными инструкциями.
- Кросс-платформенность. Matplotlib работает на разных операционных системах, включая Windows, macOS и Linux.
Установка Matplotlib
Установить библиотеку можно через pip. Выполните команду в терминале или командной строке, чтобы загрузить последнюю версию:
pip install matplotlib
После этого нужно импортировать необходимые модули в ваш код:
import matplotlib.pyplot as plt
У Matplotlib есть несколько модулей, каждый из которых предназначен для определенных задач:
- Pyplot — основной интерфейс для создания, настройки и отображения графиков;
- Pylab объединяет Pyplot с библиотекой NumPy. Пользователи могут подключаться к числовым массивам и функциям для построения графиков.
Сегодня Pylab считается устаревшим, его редко используют в новых проектах. Вместо этого применяют Pyplot для построения графиков и NumPy для математических операций. Так получается более предсказуемый и поддерживаемый код.
Типы графиков Matplotlib
В библиотеке Matplotlib можно создавать разные виды графиков, например:
- Линейный график Matplotlib. Показывает, как меняются значения во времени или по другому количественному параметру. Подходит для визуализации трендов.

- Диаграмма рассеяния Matplotlib. Точечная диаграмма, которая показывает взаимосвязи между двумя числовыми переменными и позволяет выявить закономерности.


- Столбчатая диаграмма. Показывает разницу величин. Хорошо подходит для представления дискретных данных.

- Гистограмма Matplotlib. Отображает распределение числовых данных. Показывает, насколько часто данные попадают в определенные диапазоны значений.


- Круговая диаграмма. Показывает, какую часть от общего количества составляют определенные значения.


Настройка графиков
Графики в Matplotlib можно индивидуально настраивать, например:
- Добавлять подписи. То есть заголовки, подзаголовки, подписи к осям или текст внутри графика, чтобы зрители лучше понимали его содержание.


- Создавать легенду и сетку. С помощью легенды можно идентифицировать элементы графика. По умолчанию она размещается так, чтобы не перекрывать данные. Дополнительно можно использовать сетку, чтобы упростить чтение.


- Создавать комбинированные графики. Можно соединять несколько графиков в одном поле для сравнения разных параметров.

- Делать 3D-графики. Чтобы визуализировать многомерные данные, лучше понять их взаимосвязи и различия.


- Настраивать стиль графика. В Matplotlib можно использовать предустановленные стили. Самые популярные — это:
- classic: классический стиль, применялся в более ранних версиях Matplotlib;
- ggplot: вдохновлен библиотекой ggplot2 из R, использует мягкие цвета и сетку;
- seaborn: имитирует визуализации из библиотеки Seaborn, с акцентом на статистические графики;
- dark_background: использует темный фон для графиков.
Для применения выбранного стиля используйте функцию plt.style.use(). Еще стили можно настраивать с нуля: менять толщину и цвет линий, шрифты, размеры осей, фон и другие параметры.

- Сохранять в файл. Графики можно сохранять на компьютер, чтобы использовать изображения в отчетах и презентациях. Для этого используйте функцию Matplotlib savefig() сразу после создания графика, но перед отображением на экране plt.show().
Интеграция с другими библиотеками
Matplotlib хорошо интегрируется с другими библиотеками Python, например:
- Pandas — библиотека для обработки и анализа структурированных данных. В Pandas есть встроенная поддержка визуализации с помощью Matplotlib, поэтому можно строить графики прямо из DataFrame.

- NumPy — библиотека на Python, которую используют для математических вычислений. Легко интегрируется с Matplotlib и позволяет строить графики на основе численных данных.


Еще Matplotlib поддерживает интеграцию с библиотеками графических интерфейсов (Tkinter, wxPython, PyQt) и позволяет встраивать графики в приложения.
Частые ошибки и их решение
Библиотека Matplotlib — легкий инструмент для построения графиков. Но новички могут столкнуться с проблемами:
- График не отображается. Такое случается, есть забыть про Matplotlib функцию plt.show(), которая отвечает за отображение.
В Jupyter Notebook можно использовать %matplotlib inline, чтобы графики отображались автоматически.

- Не отображается шрифт: по умолчанию Matplotlib использует шрифт DejaVu Sans. Если вы применяете другой, текст может отображаться в виде непонятных символов. Чтобы исправить проблему, установите шрифт, который поддерживает кириллицу.
- Подписи перекрывают друг друга. Такое случается, когда используют большое количество данных или множество меток на осях. Чтобы избежать перекрытия, можно изменить угол наклона меток, увеличить размер графика или автоматически настроить отступы.

Главное о библиотеке Matplotlib
- Matplotlib — удобная библиотека для создания графиков и визуализации данных на Python.
- В Matplotlib можно строить разные типы графиков — от простых линейных до сложных 3D-визуализаций.
- Графики можно индивидуально настраивать — добавлять подписи, менять цвета, размер, шрифты.
- Библиотека Matplotlib хорошо интегрируется с NumPy и Pandas, что удобно для работы с массивами и таблицами.
- Графики можно сохранять в виде картинок, чтобы использовать их в отчетах и презентациях.
- Не все шрифты в Matplotlib поддерживают кириллицу. Если текст отображается некорректно, попробуйте изменить шрифт.