Баннер мобильный (3) Пройти тест

Matplotlib в Python: как строить графики и диаграммы

Установка библиотеки, типы графиков, частые ошибки

Инструкция

15 июля 2025

Поделиться

Скопировано
Matplotlib в Python: как строить графики и диаграммы

Содержание

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

    Что такое Matplotlib 

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

    Пример графика Matplotlib
    Пример графика. Источник

    Обычно 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. Точечная диаграмма, которая показывает взаимосвязи между двумя числовыми переменными и позволяет выявить закономерности.
    Диаграмма рассеяния Python
    Диаграмма рассеяния Python. Источник
    • Столбчатая диаграмма. Показывает разницу величин. Хорошо подходит для представления дискретных данных.
    Столбчатая диаграмма питон
    Столбчатая диаграмма питон. Источник
    • Гистограмма Matplotlib. Отображает распределение числовых данных. Показывает, насколько часто данные попадают в определенные диапазоны значений.
    Гистограмма matplotlib код
    Гистограмма Matplotlib
    Гистограмма Matplotlib. Источник
    • Круговая диаграмма. Показывает, какую часть от общего количества составляют определенные значения.
    Круговая диаграмма matplotlib код
    Круговая диаграмма в Matplotlib
    Круговая диаграмма в Matplotlib. Источник

    Настройка графиков

    Графики в Matplotlib можно индивидуально настраивать, например: 

    • Добавлять подписи. То есть заголовки, подзаголовки, подписи к осям или текст внутри графика, чтобы зрители лучше понимали его содержание.
    Подписи matplotlib код
    Подписи matplotlib
    Подписи помогают лучше ориентироваться на графике. Источник
    • Создавать легенду и сетку. С помощью легенды можно идентифицировать элементы графика. По умолчанию она размещается так, чтобы не перекрывать данные. Дополнительно можно использовать сетку, чтобы упростить чтение. 
    Легенда код Matplotlib
    Matplotlib график с легендой
    График с легендой и сеткой. Источник
    • Создавать комбинированные графики. Можно соединять несколько графиков в одном поле для сравнения разных параметров. 
    Комбинированный график Matplotlib
    Комбинированный график Matplotlib. Источник
    • Делать 3D-графики. Чтобы визуализировать многомерные данные, лучше понять их взаимосвязи и различия.
    3D-график в Matplotlib код
    3D-график в Matplotlib
    3D-график в Matplotlib. Источник
    • Настраивать стиль графика. В Matplotlib можно использовать предустановленные стили. Самые популярные — это: 
      • classic: классический стиль, применялся в более ранних версиях Matplotlib;
      • ggplot: вдохновлен библиотекой ggplot2 из R, использует мягкие цвета и сетку;
      • seaborn: имитирует визуализации из библиотеки Seaborn, с акцентом на статистические графики;
      • dark_background: использует темный фон для графиков.

    Для применения выбранного стиля используйте функцию plt.style.use(). Еще стили можно настраивать с нуля: менять толщину и цвет линий, шрифты, размеры осей, фон и другие параметры. 

    Стиль оформления ggplot
    Стиль оформления ggplot. Источник
    • Сохранять в файл. Графики можно сохранять на компьютер, чтобы использовать изображения в отчетах и презентациях. Для этого используйте функцию Matplotlib savefig() сразу после создания графика, но перед отображением на экране plt.show().

    Интеграция с другими библиотеками

    Matplotlib хорошо интегрируется с другими библиотеками Python, например: 

    • Pandas — библиотека для обработки и анализа структурированных данных. В Pandas есть встроенная поддержка визуализации с помощью Matplotlib, поэтому можно строить графики прямо из DataFrame.
    График в Pandas Matplotlib
    Построение графика Pandas. Источник
    • NumPy — библиотека на Python, которую используют для математических вычислений. Легко интегрируется с Matplotlib и позволяет строить графики на основе численных данных.
    Numpy график код Matplotlib
    Matplotlib Numpy график
    Построение графика Numpy. Источник

    Еще Matplotlib поддерживает интеграцию с библиотеками графических интерфейсов (Tkinter, wxPython, PyQt) и позволяет встраивать графики в приложения.

    Частые ошибки и их решение

    Библиотека Matplotlib — легкий инструмент для построения графиков. Но новички могут столкнуться с проблемами: 

    • График не отображается. Такое случается, есть забыть про Matplotlib функцию plt.show(), которая отвечает за отображение.

    В Jupyter Notebook можно использовать %matplotlib inline, чтобы графики отображались автоматически.

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

    Главное о библиотеке Matplotlib

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

    Инструкция

    Поделиться

    Скопировано
    0 комментариев
    Комментарии