Отличный выбор! Начнем с фундамента. Урок 1 посвящен тому, как заставить Seaborn работать и как сделать так, чтобы твои графики выглядели профессионально с первой же строчки кода.
Урок 1: Основы и эстетика Seaborn
Главное отличие Seaborn от Matplotlib — это «умные» настройки по умолчанию и встроенная поддержка структур данных Pandas.
1. Установка и импорт
Для начала убедись, что библиотека установлена. Если нет, в терминале: pip install seaborn
В коде мы всегда импортируем её вместе с Matplotlib и Pandas:
2. Стили и темы
Одной из сильных сторон Seaborn является возможность мгновенно менять внешний вид графиков. Функция sns.set_theme() настраивает всё: от цвета фона до размера шрифта.
Основные стили:
-
darkgrid (по умолчанию): серая сетка, помогает считывать значения.
-
whitegrid: белая сетка, более минималистично.
-
dark: просто серый фон.
-
white: чистый белый фон.
-
ticks: добавляет деления на осях.
3. Загрузка встроенных данных
В Seaborn есть тренировочные датасеты. Мы будем использовать tips (данные о чаевых в ресторане) — это классика для обучения.
4. Твой первый график: Scatter Plot
Давай посмотрим, есть ли связь между суммой счета (total_bill) и размером чаевых (tip).
5. Магия параметра hue
Это то, за что все любят Seaborn. Мы можем добавить цвет, чтобы разделить данные по категориям (например, курящий человек или нет), не разбивая график на части.
🛠 Практическое задание
Попробуй изменить стиль на dark и вместо hue="smoker" используй hue="day" (день недели).
Вопрос: Заметил ли ты какую-то разницу в распределении чаевых в зависимости от дня недели на графике?
Задание 1: Смена «настроения» графика
Покажи взаимосвязь общего счета (total_bill) и чаевых (tip), но измени визуальное восприятие:
-
Установи стиль фона на dark.
-
Сделай так, чтобы цвет точек зависел от времени суток (time).
-
Измени форму точек (style) в зависимости от того, был ли это ужин или обед (тот же столбец time).
-
Добавь заголовок «Анализ чаевых: Обед vs Ужин».
Задание 2: Цветовая дифференциация
Иногда стандартные цвета Seaborn не подходят.
-
Построй график рассеяния: по оси X — total_bill, по оси Y — tip.
-
Раздели данные по дням недели (day) с помощью цвета.
-
Используй встроенную палитру "rocket" или "viridis".
-
Сделай точки крупнее, чем они есть по умолчанию.
Задание 3: Продвинутый Scatter с размерами
Нужно отобразить на одном графике максимум информации.
-
Используй total_bill и tip для осей.
-
Цвет точек (hue) привяжи к размеру компании (size).
-
Размер самих точек (size) также привяжи к столбцу size.
-
Установи контекст "paper", чтобы график выглядел компактно.
-
Сделай так, чтобы легенда отображалась (обычно Seaborn делает это сам, но убедись, что она понятна).