Что такое Matplotlib и зачем он нужен
Matplotlib — это библиотека Python для создания двумерных графиков и диаграмм. Она позволяет визуализировать данные любого масштаба и сложности, от простых линейных графиков до многоуровневых диаграмм.
Почему Matplotlib так популярен:
-
Прост в освоении и использовании;
-
Гибкий и настраиваемый;
-
Идеально интегрируется с NumPy и Pandas;
-
Поддерживает сохранение графиков в различные форматы (PNG, SVG, PDF и др.);
-
Активно используется в Data Science, аналитике и образовании.
Установка и подключение библиотеки
Установить Matplotlib можно с помощью pip:
pip install matplotlib
Импорт стандартный:
import matplotlib.pyplot as plt
Использование plt
как псевдонима – это общепринятая практика.
Основы построения графиков
Первая визуализация: простейший график
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()
— отображение графика.
Названия осей, заголовки и сетка
plt.xlabel("Ось X")
plt.ylabel("Ось Y")
plt.title("Пример графика")
plt.grid(True)
Эти параметры делают график более информативным и читаемым.
Основные типы графиков в Matplotlib
Линейные графики (line plot)
plt.plot(x, y, linestyle='-', color='b', marker='o')
Используются для отображения трендов, зависимостей и временных рядов.
Гистограммы (histograms)
data = [1, 2, 2, 3, 3, 3, 4, 4, 5]
plt.hist(data, bins=5, color='orange')
Помогают визуализировать распределение значений.
Диаграммы рассеяния (scatter plot)
plt.scatter(x, y, color='red')
Хорошо подходят для анализа взаимосвязей между переменными.
Круговые диаграммы (pie chart)
labels = ['A', 'B', 'C']
sizes = [30, 45, 25]
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
Для отображения долей от общего количества.
Столбчатые диаграммы (bar chart)
plt.bar(['A', 'B', 'C'], [5, 7, 3])
Часто используются для сравнений категориальных данных.
Настройка стилей и оформления
Цвета, стили линий и маркеры
plt.plot(x, y, color='green', linestyle='--', marker='s')
Можно комбинировать: линии, точки, формы маркеров, прозрачность.
Темы оформления (style sheets)
plt.style.use('ggplot')
Популярные стили:
-
'seaborn'
-
'fivethirtyeight'
-
'bmh'
-
'dark_background'
Создание нескольких графиков (subplot)
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()
Позволяет размещать несколько графиков на одном холсте.
Сохранение графиков в файл
plt.savefig("plot.png", dpi=300)
Поддерживаются форматы PNG, PDF, SVG, JPG и другие.
Matplotlib и другие библиотеки (NumPy, Pandas)
С Matplotlib часто работают в паре с:
-
NumPy — для генерации числовых данных;
-
Pandas — для построения графиков прямо из таблиц.
Пример с Pandas:
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('название_стиля')
.
❓ Как сделать легенду?
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(...) |
Контурная поверхность. |
Установка
pip install matplotlib
Простой пример
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. С его помощью можно наглядно представить данные, сделать отчеты понятными и информативными, а также подготовить визуальные элементы для презентаций и исследований. Простота и гибкость делают эту библиотеку универсальным решением для любого уровня пользователя — от новичка до профессионала.