Matplotlib – визуализация данных

онлайн тренер по питону
Онлайн-тренажер Python 3 для начинающих

Теория без воды. Задачи с автоматической проверкой. Подсказки на русском языке. Работает в любом современном браузере.

начать бесплатно
 

Что такое Matplotlib и зачем он нужен

Matplotlib — это библиотека Python для создания двумерных графиков и диаграмм. Она позволяет визуализировать данные любого масштаба и сложности, от простых линейных графиков до многоуровневых диаграмм.

Почему Matplotlib так популярен:

  • Прост в освоении и использовании;

  • Гибкий и настраиваемый;

  • Идеально интегрируется с NumPy и Pandas;

  • Поддерживает сохранение графиков в различные форматы (PNG, SVG, PDF и др.);

  • Активно используется в Data Science, аналитике и образовании.


Установка и подключение библиотеки

Установить Matplotlib можно с помощью pip:

bash
pip install matplotlib

Импорт стандартный:

python
import matplotlib.pyplot as plt

Использование plt как псевдонима – это общепринятая практика.


Основы построения графиков

Первая визуализация: простейший график

python
import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [10, 20, 25, 30] plt.plot(x, y) plt.show()

plt.plot() — базовая функция для построения графиков. plt.show() — отображение графика.

Названия осей, заголовки и сетка

python
plt.xlabel("Ось X") plt.ylabel("Ось Y") plt.title("Пример графика") plt.grid(True)

Эти параметры делают график более информативным и читаемым.


Основные типы графиков в Matplotlib

Линейные графики (line plot)

python
plt.plot(x, y, linestyle='-', color='b', marker='o')

Используются для отображения трендов, зависимостей и временных рядов.

Гистограммы (histograms)

python
data = [1, 2, 2, 3, 3, 3, 4, 4, 5] plt.hist(data, bins=5, color='orange')

Помогают визуализировать распределение значений.

Диаграммы рассеяния (scatter plot)

python
plt.scatter(x, y, color='red')

Хорошо подходят для анализа взаимосвязей между переменными.

Круговые диаграммы (pie chart)

python
labels = ['A', 'B', 'C'] sizes = [30, 45, 25] plt.pie(sizes, labels=labels, autopct='%1.1f%%')

Для отображения долей от общего количества.

Столбчатые диаграммы (bar chart)

python
plt.bar(['A', 'B', 'C'], [5, 7, 3])

Часто используются для сравнений категориальных данных.


Настройка стилей и оформления

Цвета, стили линий и маркеры

python
plt.plot(x, y, color='green', linestyle='--', marker='s')

Можно комбинировать: линии, точки, формы маркеров, прозрачность.

Темы оформления (style sheets)

python
plt.style.use('ggplot')

Популярные стили:

  • 'seaborn'

  • 'fivethirtyeight'

  • 'bmh'

  • 'dark_background'


Создание нескольких графиков (subplot)

python
plt.subplot(2, 1, 1) plt.plot([1, 2, 3], [1, 4, 9]) plt.subplot(2, 1, 2) plt.plot([1, 2, 3], [1, 2, 3]) plt.tight_layout()

Позволяет размещать несколько графиков на одном холсте.


Сохранение графиков в файл

python
plt.savefig("plot.png", dpi=300)

Поддерживаются форматы PNG, PDF, SVG, JPG и другие.


Matplotlib и другие библиотеки (NumPy, Pandas)

С Matplotlib часто работают в паре с:

  • NumPy — для генерации числовых данных;

  • Pandas — для построения графиков прямо из таблиц.

Пример с Pandas:

python
import pandas as pd df = pd.DataFrame({ 'Год': [2020, 2021, 2022], 'Продажи': [100, 150, 200] }) df.plot(x='Год', y='Продажи', kind='line') plt.show()

Часто задаваемые вопросы

❓ Что такое Matplotlib?

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

❓ Как сохранить график в файл?

С помощью plt.savefig("имя_файла.png").

❓ Как нарисовать сразу несколько графиков?

Используйте plt.subplot() или библиотеку seaborn.

❓ Можно ли использовать Matplotlib с Pandas?

Да, это очень удобно и часто используется для построения графиков на основе DataFrame.

❓ Как поменять стиль графика?

С помощью plt.style.use('название_стиля').

❓ Как сделать легенду?

python
plt.plot(x, y, label="линия") plt.legend()

Полный справочник по функциям и методам библиотеки Matplotlib (модуль pyplot)

Создание и управление графиками

Функция Описание
plt.figure(figsize=(w, h)) Создаёт новое окно графика с указанным размером.
plt.subplots(nrows, ncols) Создаёт матрицу подграфиков и возвращает фигуру и массив осей.
plt.subplot(nrows, ncols, index) Добавляет подграфик в виде сетки.
plt.clf() Очищает текущую фигуру.
plt.close() Закрывает текущее окно графика.
plt.grid(True) Включает сетку на графике.
plt.axis('equal') Устанавливает равные масштабы по осям.
plt.xlim(min, max) Устанавливает пределы по оси X.
plt.ylim(min, max) Устанавливает пределы по оси Y.

Построение графиков

Функция Описание
plt.plot(x, y) Линейный график.
plt.scatter(x, y) Диаграмма рассеяния (точки).
plt.bar(x, height) Столбчатая диаграмма.
plt.barh(y, width) Горизонтальная столбчатая диаграмма.
plt.hist(data, bins=10) Гистограмма распределения.
plt.pie(sizes, labels=...) Круговая диаграмма.
plt.boxplot(data) Диаграмма размаха (ящик с усами).
plt.fill_between(x, y1, y2) Закрашивает область между двумя кривыми.
plt.step(x, y) Ступенчатый график.
plt.errorbar(x, y, yerr=...) График с ошибками.

Работа с текстом и подписями

Функция Описание
plt.title("Заголовок") Заголовок графика.
plt.xlabel("Ось X") Подпись оси X.
plt.ylabel("Ось Y") Подпись оси Y.
plt.xticks(ticks, labels) Метки по оси X.
plt.yticks(ticks, labels) Метки по оси Y.
plt.text(x, y, "текст") Добавляет текст в координатах (x, y).
plt.annotate(text, xy=(x, y), xytext=(x2, y2), arrowprops={...}) Аннотация с текстом и стрелкой.

Легенда и оформление

Функция Описание
plt.legend() Показывает легенду.
plt.legend(loc='best') Устанавливает положение легенды.
plt.style.use('style') Применяет стиль оформления (например, 'ggplot', 'seaborn').

Цвет, стиль линии и маркеры

Аргумент Описание
color='r' Цвет линии: 'r', 'g', 'b', 'k', 'orange' и др.
linestyle='--' Стиль линии: сплошная ('-'), пунктир ('--'), точечная (':').
linewidth=2 Толщина линии.
marker='o' Маркер на точках: 'o', 's', '^', 'x', '*', и др.
markersize=6 Размер маркера.
alpha=0.5 Прозрачность (от 0 до 1).

Отображение и сохранение графиков

Функция Описание
plt.show() Отображает график в окне.
plt.savefig("plot.png", dpi=300) Сохраняет график в файл.
plt.tight_layout() Автоматически подгоняет расположение элементов.

Тепловые карты и изображения

Функция Описание
plt.imshow(data, cmap='viridis') Отображает двумерный массив как изображение.
plt.colorbar() Добавляет шкалу значений.
plt.clim(vmin, vmax) Устанавливает границы цветовой шкалы.

3D-графики (через mpl_toolkits.mplot3d)

Функция Описание
ax = fig.add_subplot(111, projection='3d') Создаёт 3D-ось.
ax.plot3D(x, y, z) Линейный 3D-график.
ax.scatter3D(x, y, z) 3D-точки.
ax.plot_surface(X, Y, Z) Поверхность.
ax.contour3D(...) Контурная поверхность.

Установка

bash
pip install matplotlib

Простой пример

python
import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [2, 4, 1, 3] plt.plot(x, y, marker='o', linestyle='--', color='blue') plt.title("Пример графика") plt.xlabel("Ось X") plt.ylabel("Ось Y") plt.grid(True) plt.show()
 
 

Заключение: сила визуализации с Matplotlib

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