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

Установка Matplotlib и первый график Matplotlib / Seaborn

Привет! Данные становятся понятнее, когда ты их видишь. Графики помогают увидеть тренды, выбросы и закономерности, которые не заметны в таблицах. И главный инструмент для визуализации в Python — Matplotlib.

В этой статье мы разберём:

  • Что такое Matplotlib и зачем он нужен
  • Как установить Matplotlib
  • Создание первого графика
  • Основные параметры настройки
  • Типы графиков: линейный, точечный, столбчатый

Что нужно знать перед началом

Для этого урока тебе понадобится:

  • Установленный Python (3.7+)
  • Базовое понимание списков и массивов
  • Желание научиться визуализировать данные

Совет: Matplotlib — базовая библиотека для визуализации. Освоив её, ты легко перейдёшь на Seaborn, Plotly и другие.

Основная часть

Что такое Matplotlib?

Matplotlib — это библиотека для создания статических, интерактивных и анимированных графиков на Python. Она была создана в 2003 году и стала стандартом в Data Science.

Что можно создавать:

  • Линейные графики
  • Точечные графики (scatter)
  • Столбчатые диаграммы (bar)
  • Гистограммы (hist)
  • Круговые диаграммы (pie)
  • 3D-графики
  • Тепловые карты

Совет: Matplotlib плотно интегрирован с NumPy и Pandas — ты сможешь строить графики прямо из DataFrame.

Установка Matplotlib

Установка через pip

Открой терминал (командную строку) и выполни:

pip install matplotlib

Для обновления до последней версии:

pip install -U matplotlib

Установка через conda (если используешь Anaconda)

conda install matplotlib

Проверка установки

import matplotlib
print(matplotlib.__version__)

Если видишь номер версии — всё отлично! 🎉

Совет: Для работы с Matplotlib часто устанавливают также NumPy. Он обычно ставится вместе с Matplotlib как зависимость.

Твой первый график

Простой линейный график

import matplotlib.pyplot as plt

# Данные
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# Создаём график
plt.plot(x, y)

# Показываем график
plt.show()

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

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

Добавляем заголовок и подписи осей

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)

# Настройка заголовка и подписей
plt.title('Мой первый график', fontsize=14)
plt.xlabel('Ось X (значения)', fontsize=12)
plt.ylabel('Ось Y (значения)', fontsize=12)

plt.show()

Изменяем цвет и стиль линии

plt.plot(x, y, color='red', linestyle='--', linewidth=2, marker='o')
plt.title('График с настройками')
plt.show()

Параметры:

ПараметрПримерОписание
color'red''blue''green''#FF5733'Цвет линии
linestyle'-''--''-.'':'Стиль линии
linewidth123Толщина линии
marker'o''s''^''D'Маркер точек

Добавляем сетку

plt.plot(x, y, color='blue', marker='o')
plt.title('График с сеткой')
plt.grid(True, linestyle='--', alpha=0.7)
plt.show()

Совет: alpha=0.7 делает сетку полупрозрачной. Это улучшает читаемость.

Разные типы графиков

Точечный график (scatter)

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7, 8]
y = [3, 5, 7, 2, 8, 4, 6, 9]

plt.scatter(x, y, color='green', s=100, alpha=0.7)
plt.title('Точечный график')
plt.xlabel('X')
plt.ylabel('Y')
plt.grid(True, alpha=0.3)
plt.show()

Совет: s=100 — размер точек. scatter() полезен для визуализации корреляций.

Столбчатая диаграмма (bar)

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D', 'E']
values = [10, 25, 15, 30, 20]

plt.bar(categories, values, color='skyblue', edgecolor='navy')
plt.title('Столбчатая диаграмма')
plt.xlabel('Категории')
plt.ylabel('Значения')
plt.show()

Гистограмма (hist)

import matplotlib.pyplot as plt
import numpy as np

# Генерируем случайные данные
data = np.random.normal(0, 1, 1000)

plt.hist(data, bins=30, color='purple', alpha=0.7, edgecolor='black')
plt.title('Гистограмма')
plt.xlabel('Значение')
plt.ylabel('Частота')
plt.show()

Совет: bins=30 — количество столбцов гистограммы. alpha=0.7 — прозрачность.

Несколько графиков на одной фигуре

import matplotlib.pyplot as plt
import numpy as np

# Данные
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# Создаём фигуру с двумя подграфиками
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))

# Первый график
ax1.plot(x, y1, color='blue')
ax1.set_title('Синус')
ax1.grid(True)

# Второй график
ax2.plot(x, y2, color='red')
ax2.set_title('Косинус')
ax2.grid(True)

plt.tight_layout()
plt.show()

Совет: plt.subplots(1, 2) — 1 строка, 2 колонки. figsize — размер фигуры в дюймах.

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

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.title('Сохраняем график')

# Сохраняем в файл
plt.savefig('my_plot.png', dpi=300, bbox_inches='tight')
print("График сохранён в my_plot.png")

plt.show()

Параметры:

  • dpi=300 — качество (300 dpi для печати)
  • bbox_inches='tight' — обрезает лишние поля

Совет: Matplotlib поддерживает форматы PNG, JPG, PDF, SVG и другие.

Практический пример: визуализация продаж

import matplotlib.pyplot as plt

# Данные о продажах по месяцам
months = ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн']
sales = [120, 150, 130, 200, 180, 220]

# Создаём график
plt.figure(figsize=(8, 5))

# Линия с маркерами
plt.plot(months, sales, color='green', marker='o', linewidth=2, markersize=8)

# Настройки
plt.title('Продажи по месяцам', fontsize=14, fontweight='bold')
plt.xlabel('Месяц', fontsize=12)
plt.ylabel('Продажи (тыс. руб.)', fontsize=12)
plt.grid(True, linestyle='--', alpha=0.6)

# Добавляем значения над точками
for i, value in enumerate(sales):
    plt.text(i, value + 5, str(value), ha='center', fontsize=10)

plt.tight_layout()
plt.show()

Задачи для закрепления

Задача 1. Построй линейный график для данных x = [0, 1, 2, 3, 4]y = [0, 1, 4, 9, 16].

Задача 2. Добавь заголовок «Квадратичная функция» и подписи осей.

Задача 3. Построй точечный график (scatter) для случайных 50 точек.

Задача 4. Сохрани график в файл my_graph.png.

Задача 5. Построй столбчатую диаграмму для категорий [‘A’, ‘B’, ‘C’] со значениями [10, 25, 15].

Ответы:

Задача 1.

import matplotlib.pyplot as plt

x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]

plt.plot(x, y)
plt.show()

Задача 2.

plt.plot(x, y)
plt.title('Квадратичная функция', fontsize=14)
plt.xlabel('X', fontsize=12)
plt.ylabel('Y', fontsize=12)
plt.grid(True)
plt.show()

Задача 3.

import numpy as np

x = np.random.rand(50) * 10
y = np.random.rand(50) * 10

plt.scatter(x, y, color='blue', alpha=0.6)
plt.title('Случайные точки')
plt.show()

Задача 4.

plt.plot(x, y)
plt.savefig('my_graph.png', dpi=150)

Задача 5.

categories = ['A', 'B', 'C']
values = [10, 25, 15]

plt.bar(categories, values, color='skyblue')
plt.title('Столбчатая диаграмма')
plt.show()

Нюансы и подводные камни

Проблема с отображением на разных системах

Если график не отображается, попробуй:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

Рендеринг кириллицы

Для отображения русского текста нужно настроить шрифты:

import matplotlib.pyplot as plt

plt.rcParams['font.family'] = 'DejaVu Sans'

Или укажи шрифт явно:

plt.title('Заголовок', fontfamily='Arial')

Частые ошибки и как их избежать

Ошибка 1: Забыл plt.show()

# График не появится
plt.plot(x, y)

# Добавь show()
plt.plot(x, y)
plt.show()

Ошибка 2: Не импортировал pyplot

# Ошибка: plt не определён
plt.plot(x, y)

# Правильно
import matplotlib.pyplot as plt
plt.plot(x, y)

Ошибка 3: Создание графика после show()

# После show() график закрыт
plt.plot(x, y)
plt.show()
plt.title('Новый заголовок')  # Не отобразится

# Все настройки до show()
plt.plot(x, y)
plt.title('Новый заголовок')
plt.show()

Шпаргалка

Что нужноКак пишется
Импортироватьimport matplotlib.pyplot as plt
Линейный графикplt.plot(x, y)
Точечный графикplt.scatter(x, y)
Столбчатая диаграммаplt.bar(x, y)
Гистограммаplt.hist(data)
Заголовокplt.title('Текст')
Подпись Xplt.xlabel('Текст')
Подпись Yplt.ylabel('Текст')
Сеткаplt.grid(True)
Показать графикplt.show()
Сохранитьplt.savefig('name.png')
Размер фигурыplt.figure(figsize=(10, 6))
Несколько графиковfig, axes = plt.subplots(nrows, ncols)

Заключение

Сегодня мы узнали:

  • 📦 Что такое Matplotlib и как его установить
  • 📈 Как создать первый линейный график
  • 🎨 Как настраивать цвета, стили и подписи
  • 📊 Какие бывают типы графиков (plot, scatter, bar, hist)
  • 💾 Как сохранять графики в файлы

КВИЗ

Что дальше?

Оцените статью
IMI-DS - PYTHON LERNEN
Содержание
Оглавление ×