Bemind
Учебник Python
Учебник Python
  • Python
    • Python Lists
      • Списковые включения в Python (Полное руководство с примерами)
      • Исправление ValueError: Слишком Много Значений Для Распаковки в Python
      • Как добавить словарь в список в Python
      • Как добавить строку в список в Python
      • Разница между массивами и списками в Python
      • Python: Различия между списками и кортежами
      • Как проверить, пуст ли список в Python
      • Как Итерировать (Циклически Проходить) По Списку в Python
      • Python List sort(): Подробное руководство по сортировке списков
      • Python List Extend: Как добавить несколько элементов в список
      • Python: Найти Индекс Всех Вхождений Элемента в Списке
      • Конвертация списка словарей в Pandas DataFrame
      • Генерация случайных чисел в Python
      • Поиск Индекса в Списке Python: Найти Первое, Последнее или Все Вхождения
      • Добавить в начало списка в Python (Вставить в начало)
      • Найти дубликаты в списке Python
      • Python: Умножение Списков (6 Различных Способов)
      • Python списки: Полный обзор
      • Python: Выбор случайного элемента из списка
      • 4 Способа Очистить Список в Python
      • Объяснение ошибки IndexError в Python: индекс списка выходит за пределы допустимого диапазона
      • Python: Получение индекса максимального элемента в списке
      • Python: Объединение списков – Слияние списков (8 способов)
      • Python: Проверка наличия элемента в списке
      • Python: Проверка наличия элемента в списке
      • Удаление элемента из списка в Python (pop, remove, del, clear)
      • Как перевернуть список в Python (6 способов)
      • Python: Замена элемента в списке (6 различных способов)
      • Python: Удаление дубликатов из списка (7 способов)
      • Python: Преобразование словаря в список кортежей (4 простых способа)
      • Python: Перемешать Список (Случайное Распределение Элементов Списка в Python)
      • Python: Пересечение двух списков
      • Python: Вычитание двух списков (4 простых способа!)
      • Длина или Размер Списка в Python: 5 Способов Узнать Длину Списка
      • Python: Транспонирование списка списков (5 простых способов!)
      • Python: Разделение списка (Пополам, на части)
      • Python: Комбинации списка (Получить все комбинации списка)
      • Python: Выравнивание списка списков (4 способа)
      • Разница между списками в Python: Нахождение разницы между двумя списками Python
      • Python: Найти среднее значение списка или списка списков
      • Как добавлять элементы в списки в Python – 4 простых способа!
      • Списковые включения в Python (Полное руководство с примерами)
      • 6 способов преобразовать список Python в строку
    • Python Dictionaries
      • Понимание словаря Python (с примерами)
      • Исправляем ValueError: Слишком Много Значений Для Распаковки в Python
      • Как добавить словарь в список в Python
      • Преобразование JSON в словарь Python
      • Полное руководство по вложенным словарям в Python
      • Копирование словаря в Python: Полное руководство
      • Конвертация списка словарей в Pandas DataFrame
      • Поиск дубликатов в списке Python
      • Полный обзор словарей в Python
      • Python: Добавление пары Ключ:Значение в Словарь
      • Python: Сортировка словаря по значениям
      • Слияние Словарей в Python – Комбинирование Словарей (7 Способов)
      • Python: Удаление Дубликатов из Списка (7 Способов)
      • Python: Преобразование словаря в список кортежей (4 простых способа)
      • Python: Красивая Печать Словаря (Dictionary) – 4 Способа
      • Python: Проверка пуст ли словарь (5 способов!)
      • Copy of Python: Проверка пуст ли словарь (5 способов!)
      • Python: Проверьте, существует ли ключ (или значение) в словаре (5 простых способов)
      • Python: Проверьте, существует ли ключ (или значение) в словаре (5 простых способов)
      • Python: Получение Ключа Словаря с Максимальным Значением (4 Способа)
      • Python: Удаление ключа из словаря (4 разных способа)
      • Как красиво вывести JSON-файл в Python (6 методов)
    • Python Strings
      • Python Капитализация Строк: Руководство по Преобразованию слов в Заглавные
      • Python strip: Как обрезать строку в Python
      • Python Обратная Строка: Руководство по Реверсированию Строк
      • Как Удалить Префикс или Суффикс из Строки в Python
      • Преобразование строки в формат заголовка в Python с помощью str.title()
      • Как добавить строку в список в Python
      • Python String startswith: Проверка, начинается ли строка с подстроки
      • Python String endswith: Проверка того, заканчивается ли строка подстрокой
      • Как удалить первый или последний символ из строки в Python
      • Как исправить: SyntaxError в Python - EOL при сканировании строкового литерала
      • Python String Contains: Проверка Наличия Подстроки в Строке
      • Как проверить, пустая ли строка в Python
      • Python Новая Строка и Как Печатать Без Переноса Строки
      • Как Конкатенировать Строки в Python: Полное Руководство
      • Python: Подсчет слов в строке или файле
      • Как создать список алфавита в Python
      • Python: Конкатенация строки и целого числа (Int)
      • Python: Сортировка строки (4 различных способа)
      • Python zfill и rjust: Добавление нулей в строку в Python
      • Python: Целое в Двоичное (Преобразование целого числа в двоичную строку)
      • Python rfind: Нахождение индекса последней подстроки в строке
      • Python SHA256 хеширование алгоритм: объяснение
      • Python: Усечение числа с плавающей точкой (6 различных способов)
      • Выбор между методами Python isdigit(), isnumeric() и isdecimal()
      • Python: Удаление специальных символов из строки
      • Python Приведение Строки к Нижнему Регистру с помощью .lower(), .casefold(), и .islower()
      • Python программа для проверки, является ли строка палиндромом (6 методов)
      • Python: Найдите все перестановки строки (3 легких способа!)
      • Python: Удаление пунктуации из строки (3 разных способа!)
      • Python: Найти индекс (или все индексы) подстроки в строке
      • Python: Удаление символов новой строки из строки
      • Python: Удаление символа из строки (4 способа)
      • Python: Количество вхождений в строке (4 способа!)
    • Встроенные функции Python
      • abs()
      • ascii()
      • aiter()
      • all()
      • any()
      • anext()
      • bin()
      • bool()
      • breakpoint()
      • bytearray()
      • bytes()
      • callable()
      • chr()
      • classmethod()
      • compile()
      • complex()
      • delattr()
      • dict()
      • dir()
      • divmod()
      • enumerate()
      • eval()
      • exec()
      • filter()
      • float()
      • format()
      • frozenset()
      • getattr()
      • globals()
      • hasattr()
      • hash()
      • help()
      • hex()
      • id()
      • input()
      • int()
      • issubclass()
      • iter()
      • len()
      • list()
      • locals()
      • map()
      • max()
      • memoryview()
      • min()
      • next()
      • object()
      • oct()
      • open()
      • ord()
      • pow()
      • print()
      • property()
      • range()
      • repr()
      • reversed()
      • round()
      • set()
      • setattr()
      • isinstance()
      • slice()
      • zip()
      • type()
      • sorted()
      • staticmethod()
      • str()
      • sum()
      • super()
      • tuple()
      • vars()
      • import()
    • Cобеседования Python. Разбор реальных вопросов.
    • Встроенные методы в Python
  • Учебники по Pandas и Numpy
    • Numpy
      • Функция активации ReLU для глубокого обучения: полное руководство по выпрямленному линейному блоку
      • Как нормализовать массивы NumPy (минимальное-максимальное масштабирование, Z-оценка, L2)
      • NumPy where: Условная обработка элементов массива
      • NumPy linspace: создание равномерно расположенных массивов с помощью np.linspace
      • Как рассчитать векторное произведение в Python
      • Разделение NumPy: Разделение массива NumPy на части
      • NumPy: Лучшие способы применения функции к массиву
      • NumPy full: Создание массивов с заданным значением
      • NumPy clip(): Ограничьте значения массива минимальным и максимальным значениями
      • NumPy cumsum: Расчет кумулятивных сумм массивов NumPy
      • Изучаем функцию np.histogram в NumPy: создаем гистограмму
      • NumPy arange(): Полное руководство (с примерами)
      • Руководство по индексации и срезам массивов NumPy: Полное руководство
      • NumPy argmin(): Получение индекса минимального значения в массивах
      • Выравнивание массива с помощью NumPy flatten
      • Объединение массивов NumPy по различным осям с использованием функции stack
      • Удаление размерности из массивов NumPy с помощью NumPy Squeeze
      • Функция np.repeat() NumPy: Повторение массивов NumPy
      • Использование функции NumPy.exp() для вычисления экспоненты
      • Реализация функции сигмоида на Python
      • NumPy Pad: Использование np.pad() для дополнения массивов и матриц
      • np.argmax(): Как использовать NumPy Argmax
      • NumPy logspace: Понимание функции np.logspace()
      • Использование NumPy Tile для Расположения Массивов
      • NumPy Zeros: Создание массивов и матриц с нулями в NumPy
      • Использование числа Пи в Python (NumPy и Math)
      • Распределение Нормального (Гауссова) Распределения в Numpy (Случайное Нормальное в Numpy)
      • NumPy для Data Science на Python
      • Расчет скалярного произведения с использованием Numpy в Python
      • Расчет натурального логарифма на Python
    • Pandas
      • Python сводные таблицы – Полное руководство
      • Изучение API стиля Pandas
      • Объяснение группировки по нескольким столбцам в Pandas с примерами
      • Удаление индексной колонки DataFrame в Pandas: Руководство с примерами
      • Pandas Quantile: Расчет процентилей в DataFrame
      • Как рассчитать скользящее среднее (среднее арифметическое) в Pandas
      • Руководство по использованию метода fillna в Pandas для работы с отсутствующими данными в DataFrame
      • Pandas unique(): Получение уникальных значений в DataFrame
      • Распакуйте Ваши Данные с Помощью Функции Melt в Pandas
      • Pandas date_range: Как Создать Диапазон Дат в Pandas
      • Сброс индекса в Pandas: как сбросить индекс в Pandas
      • Pandas replace() – Замена значений в DataFrame Pandas
      • Перемещение столбца DataFrame Pandas на позицию (В начало и в конец)
      • Учебное пособие по Python Pandas: полное руководство
      • Pandas: Замена NaN на нули
      • Преобразование DataFrame Pandas в файл Pickle
      • Конвертация Pandas DataFrame в JSON
      • Преобразование DataFrame Pandas в Словарь
      • Преобразование Pandas DataFrame в Список
      • Чтение файлов Parquet в Pandas с помощью pd.read_parquet
      • Pandas dropna(): Удаление отсутствующих записей и столбцов в DataFrame
      • Как Добавить Новый Столбец в DataFrame Pandas
      • Подсчёт уникальных значений в Pandas
      • Отображение всех столбцов и строк в DataFrame Pandas
      • Pandas to_excel: Запись DataFrames в файлы Excel
      • Как использовать Pandas для чтения файлов Excel в Python
      • Преобразование списка словарей в Pandas DataFrame
      • Как добавить/вставить строку в DataFrame Pandas
      • Диаграмма рассеяния в Pandas: Как создать диаграмму рассеяния в Pandas
      • Pandas to_datetime: Преобразование строки Pandas в дату и время
      • Введение в Pandas для Data Science
      • Индексация, Выборка и Присваивание Данных в Pandas
      • Суммирование и Анализ Pandas DataFrame
      • Преобразование столбцов Pandas с помощью map и apply
      • Группировка данных в Pandas с использованием cut и qcut
      • Дата и время в Pandas и Python
      • Очистка и подготовка данных в Pandas и Python
      • Pandas GroupBy: группировка, суммирование и агрегация данных в Python
      • Pandas Дата и Время в Части Даты (месяц, год и т.д.)
      • Pandas: Получение номера строки из DataFrame
      • Вычисление Взвешенного Среднего в Pandas и Python
      • Как перемешать строки Pandas Dataframe в Python
      • Pandas: количество столбцов (подсчет столбцов в DataFrame)
      • Pandas Sum: сложение столбцов и строк DataFrame
      • Pandas Diff: Вычисление Разницы Между Строками Pandas
      • Нормализация столбца или датафрейма Pandas (с использованием Pandas или sklearn)
      • Функция Rank в Pandas: Ранжирование данных в Dataframe (Эквивалент SQL row_number)
      • Pandas Describe: Описательная статистика вашего Dataframe
      • Pandas Shift: Перемещение столбца DataFrame вверх или вниз
      • 7 Способов Выполнения Выборки Данных в Pandas
      • Экспорт DataFrame Pandas в CSV файл – Использование .to_csv()
      • Pandas: Итерация по строкам DataFrame в Pandas
      • Pandas: Преобразование значений столбца в строки
      • Дисперсия в Pandas: Вычисление дисперсии столбца в Pandas Dataframe
      • Pandas: Создание DataFrame из списков (5 способов!)
      • Pandas Rename Index: Как переименовать индекс DataFrame в Pandas
      • Pandas: Подсчёт уникальных значений в объекте GroupBy
      • Pandas: Добавить дни к колонке с датами
      • Среднее в Pandas: Как рассчитать среднее для одной или нескольких колонок
      • Pandas Column to List – Конвертируйте колонку Pandas в список
      • Транспонирование Dataframe в Pandas
      • Python: Разделение DataFrame Pandas
      • Как получить имена столбцов в DataFrame Pandas
      • Pandas: Количество строк в DataFrame (6 способов)
      • Создание пустого DataFrame Pandas и добавление данных
      • Как переименовать столбцы в Pandas DataFrame (с примерами)
      • Изменение порядка столбцов в Pandas: использование метода reindex и метода insert
      • Pandas get_dummies (One-Hot кодирование), объяснение
      • Относительные и Абсолютные Частоты в Python и Pandas
      • Финансовый год – Определение финансового года в Pandas
      • Как сортировать данные в DataFrame Pandas
  • Учебники Matplotlib и Seaborn
    • Seaborn
      • Регрессионные графики в Seaborn с использованием regplot и lmplot
      • Seaborn residplot – Построение остатков линейной регрессии
      • Seaborn jointplot() – Создание совместных графиков в Seaborn
      • Seaborn displot – Распределенческие графики в Python
      • Seaborn ecdfplot – Эмпирические функции накопленного распределения
      • Seaborn rugplot – Визуализация маргинальных распределений
      • Seaborn kdeplot – Создание графиков оценки плотности ядра
      • Seaborn histplot – Создание Гистограмм в Seaborn
      • Seaborn catplot – Визуализация категориальных данных в Python
      • Средняя тенденция для категориальных данных в Seaborn Pointplot
      • Seaborn stripplot: Jitter Plots для распределений категориальных данных
      • Seaborn Countplot – Подсчет категориальных данных в Python
      • Seaborn swarmplot: Bee Swarm Plots для распределения категориальных данных
      • Скрипичные графики Seaborn в Python: Полное руководство
      • Настройка расположения легенд Seaborn, меток, текста и т.д.
      • Тепловая карта Seaborn: Полное руководство
      • Создание многосекционных сеток в Seaborn с помощью FacetGrid
      • Удаление рамки в Seaborn: Как работать с рамкой
      • Заголовки и метки осей в Seaborn: добавление и настройка
      • Как установить Seaborn в Python (Исправление: no module named seaborn)
      • Seaborn relplot – Создание точечных и линейных графиков
      • Полное руководство по созданию точечных диаграмм (scatter plots) в Python с использованием Seaborn
    • Matplotlib
      • Режим Retina в Matplotlib: Улучшение Качества Графиков
      • Как построить функцию в Python с использованием Matplotlib
      • Как создать 3D-диаграммы рассеяния в Matplotlib
      • Как изменить размер шрифта в графике Matplotlib
      • Установка размера маркера в точечных диаграммах Matplotlib
      • Как изменить размер графика и фигуры в Matplotlib
      • Как добавить названия в Matplotlib: Заголовок, Подзаголовок, Названия Осей
      • Pandas Scatter Plot: Как создать диаграмму рассеяния в Pandas
      • Построение графиков в Python с помощью Matplotlib
      • Диаграммы рассеяния Matplotlib – Все, что вам нужно знать
      • Диаграммы с столбцами в Matplotlib – Узнайте все, что вам нужно знать
      • Линейные диаграммы Matplotlib – Всё, что вам нужно знать
      • Построение гистограммы в Python с Matplotlib и Pandas
  • Алгоритмы
    • Алгоритм поиска в ширину (BFS) в Python
    • Алгоритм поиска в глубину (DFS) на Python
  • AI создает хедж-фонд для анализа акций на Python
Powered by GitBook
On this page
  • Понимание функции Seaborn displot()
  • Загрузка образца набора данных
  • Создание базового графика с помощью Seaborn
  • Создание графика оценки плотности ядра (Kernel Density Estimate) с помощью Seaborn displot
  • Изменение графика Seaborn с помощью цвета
  • Объединение гистограммы с графиком KDE в Seaborn displot
  • Построение двумерного распределения в Seaborn Displot
  • Добавление Rugplot в график Seaborn
  • Создание подмножеств графиков со строками и столбцами
  • Изменение названий и меток осей в отображении Seaborn
  • Изменение размера графика Seaborn
  • Заключение
  • Дополнительные ресурсы
  1. Учебники Matplotlib и Seaborn
  2. Seaborn

Seaborn displot – Распределенческие графики в Python

PreviousSeaborn jointplot() – Создание совместных графиков в SeabornNextSeaborn ecdfplot – Эмпирические функции накопленного распределения

Last updated 1 year ago

В этом учебнике вы узнаете, как создавать графики распределения Seaborn с использованием функции sns.displot(). Графики распределения показывают, как распределена переменная (или несколько переменных). Seaborn предоставляет множество различных функций визуализации данных о распределении, включая создание гистограмм или оценок плотности ядра.

Seaborn предоставляет специализированные функции для обоих этих видов визуализаций. Так почему же вы захотите использовать функцию displot()? Функция displot() в Seaborn является функцией на уровне фигур, а не на уровне осей. Это открывает разные возможности в том, как вы строите свои визуализации.

К концу этого учебного пособия вы узнаете следующее:

  • Что такое функция Seaborn displot()

  • Когда использовать функцию Seaborn displot() вместо специальных функций

  • Как построить несколько графиков с помощью функции уровня фигуры sns.displot()

  • Как настроить заголовки, цвета и многое другое

Оглавление

Понимание функции Seaborn displot()

Функция displot() библиотеки Seaborn используется для создания рисунков на уровне фигур на основе сетки FacetGrid Seaborn. Вы можете настроить тип визуализации, который будет создан, с помощью параметра kind=

Функция displot() в Seaborn предоставляет интерфейс уровня фигуры для создания категориальных графиков. Это означает, что функция позволяет выполнять отображение на уровне фигуры, а не объекта осей. Это открывает гораздо больше возможностей.

Давайте посмотрим, как написана функция:

# Понимание функции seaborn.displot()
import seaborn as sns
sns.displot(data=None, *, x=None, y=None, hue=None, row=None, col=None, weights=None, kind='hist', rug=False, rug_kws=None, log_scale=None, legend=True, palette=None, hue_order=None, hue_norm=None, color=None, col_wrap=None, row_order=None, col_order=None, height=5, aspect=1, facet_kws=None, **kwargs)

Функция позволяет строить следующие типы визуализации, изменяемые параметром kind=

  • Гистограммы с функцией Seaborn histplot()

  • Графики оценки плотности ядра с помощью функции Seaborn kdeplot()

  • Графики эмпирической кумулятивной функции распределения с помощью функции Seaborn ecdfplot()

  • Ковры с функцией Seaborn rugplot()

Некоторые из этих визуализаций немного более специфические и нишевые. Ниже представлено изображение, демонстрирующее, как аналогичное распределение выглядит в различных графиках:

Функция имеет интерфейс, очень похожий на интерфейсы других функций для построения распределений. Давайте рассмотрим некоторые ключевые параметры:

  • data= предоставляет данные для построения с помощью объекта DataFrame библиотеки Pandas

  • x= и y= задают переменные для отображения на оси x и оси y соответственно

  • hue= добавляет дополнительную переменную для отображения через цветовое кодирование

Дополнительно, функция предлагает некоторые дополнительные параметры, доступные только в функции displot(). Давайте исследуем их:

  • kind= определяет тип создаваемой диаграммы. По умолчанию будет создана гистограмма, используя аргумент ключевого слова

  • row= позволяет вам разделить ваш набор данных на дополнительные строки визуализаций

  • col= позволяет вам разделить ваш набор данных на дополнительные столбцы визуализаций

  • height= и aspect= контролируют размер вашей визуализации данных

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

Загрузка образца набора данных

Чтобы следовать этому руководству, давайте используем набор данных, предоставленный библиотекой Seaborn. Мы воспользуемся популярным набором данных о чаевых, доступным через функцию sns.load_dataset()

Давайте посмотрим, как мы можем прочитать набор данных и изучить его первые пять строк:

# Исследование примера набора данных
import seaborn as sns
df = sns.load_dataset('tips')
print(df.head())

# Возвращает:
#    total_bill   tip     sex smoker  day    time  size
# 0       16.99  1.01  Female     No  Sun  Dinner     2
# 1       10.34  1.66    Male     No  Sun  Dinner     3
# 2       21.01  3.50    Male     No  Sun  Dinner     3
# 3       23.68  3.31    Male     No  Sun  Dinner     2
# 4       24.59  3.61  Female     No  Sun  Dinner     4

В нашем распоряжении имеется ряд переменных, включая как категориальные, так и непрерывные.

Создание базового графика с помощью Seaborn

По умолчанию функция displot() в Seaborn создает гистограмму. Для создания самой базовой визуализации мы можем просто передать следующие параметры:

  • data= для передачи в наш DataFrame

  • x= или y= для передачи меток столбцов, которые мы хотим изучить на гистограмме.

Давайте посмотрим, как выглядит этот код:

# По умолчанию Seaborn displot() покажет гистограмму
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip')
plt.show()

В представленном выше блоке кода мы передали наш DataFrame df вместе с меткой столбца 'tip'. Это привело к следующей визуализации:

Мы видим, что поскольку мы отображаем одну переменную по оси x, а Seaborn возвращает гистограмму. Этот график позволяет нам исследовать распределение данных в этой колонке.

Создание графика оценки плотности ядра (Kernel Density Estimate) с помощью Seaborn displot

Хотя функция displot() в библиотеке Seaborn по умолчанию создает гистограммы, мы также можем создавать графики плотности распределения (KDE), используя параметр kind='kde'. Давайте посмотрим, как это выглядит:

# Используйте параметр kind= для изменения типа используемого графика
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', kind='kde')
plt.show()

В приведенном выше блоке кода мы добавили еще один ключевой аргумент: kind=. Это позволило нам создать совершенно другую визуализацию данных, как показано ниже:

Поскольку функция displot() на самом деле использует функцию kdeplot() в своей работе, поведение обеих функций одинаково. Это означает, что мы можем использовать различные ключевые аргументы, которые предоставляет функция

Изменение графика Seaborn с помощью цвета

Мы можем добавить дополнительные детали в наши графики Seaborn, используя цвет. Это позволяет добавить дополнительные измерения (или столбцы данных) в нашу визуализацию. Это означает, что, хотя наши графики останутся двухмерными, мы можем на самом деле визуализировать дополнительные измерения.

Мы можем добавить дополнительные параметры цвета, используя параметр hue=. Давайте исследуем, как мы можем добавлять дополнительные уровни детализации с использованием цвета.

Добавление цвета в Seaborn Displot

Чтобы добавить дополнительную переменную в вашу функцию displot() в Seaborn, вы можете использовать параметр hue=, чтобы передать столбец DataFrame, который разделит данные на несколько цветов.

Seaborn создаст цвет для каждого из различных уникальных значений в этом столбце. Если вы работаете с категориальными данными, Seaborn добавит один цвет для каждого уникального значения.

Добавление цветовых стилей вместо добавления цветовых измерений

В этом случае мы будем добавлять цвет, чтобы представить другое измерение данных. Если, вместо этого, вы хотели бы управлять стилем вашего графика, вы могли бы использовать параметр palette=. На протяжении оставшейся части учебного пособия мы будем применять стиль, чтобы сделать стандартное оформление немного более эстетичным.

Давайте посмотрим, как мы можем использовать Seaborn для добавления дополнительных деталей к нашему графику, используя параметр hue=

# Добавление цвета с помощью параметра hue
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', hue='sex', multiple='stack')
plt.show()

В приведенном выше блоке кода мы использовали параметр hue='sex'. Это означает, что мы хотим окрасить точки на нашем диаграмме рассеивания в разные цвета в зависимости от пола сотрудника. В результате получается следующее изображение:

Теперь мы видим, что визуализация данных стала намного яснее. Мы можем ясно видеть различия в данных. Вы можете узнать больше о том, как управлять цветом в гистограммах Seaborn, ознакомившись с моим полным руководством.

Объединение гистограммы с графиком KDE в Seaborn displot

С помощью функции displot() в библиотеке Seaborn мы можем легко объединить создаваемую гистограмму с оценкой плотности ядра. Вместо создания отдельного объекта осей позволяет передать параметр kde=True, который будет рисовать оценку прямо на гистограмме.

# Комбинирование гистограммы с графиком оценки плотности ядра (KDE)
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', kde=True)
plt.show()

В приведенном выше блоке кода мы создали простую гистограмму с помощью функции displot(), но инструктировали функцию отрисовать оценку плотности ядра. Это возвращает изображение ниже:

В следующем разделе вы узнаете, как построить бивариативное распределение с помощью функции displot в Seaborn.

Построение двумерного распределения в Seaborn Displot

По умолчанию Seaborn будет строить распределение одной переменной. Однако мы можем построить графики бивариантного распределения, используя функцию displot, просто передавая метки столбцов в параметры x= и y=

# Построение двумерных распределений
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', y='total_bill')
plt.show()

В приведенном выше блоке кода мы не указали, какой тип графика хотим получить. Из-за этого по умолчанию в Seaborn используется гистограмма, которая отображает тепловую карту распределения по двум переменным.

Аналогичным образом, мы можем построить двумерную оценку плотности ядра. В этом случае нам нужно указать это, используя параметр kind=

# Построение двумерных распределений с графиком оценки плотности ядра (KDE)
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', y='total_bill', kind='kde')
plt.show()

В приведенном выше блоке кода мы добавили kind='kde', что строит оценку ядерной плотности. При построении двумерного распределения это возвращает изображение ниже:

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

Добавление Rugplot в график Seaborn

Вместо того, чтобы вызывать функцию rugplot напрямую, Seaborn позволяет добавить коврик-график, используя аргумент rug=True в функции displot. Это упрощает создание графика и делает код значительно чище.

# Добавление графика-дерева
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', kind='kde', rug=True)
plt.show()

В приведенном выше блоке кода мы передали rug=True, что привело к отображению ковровой диаграммы на гистограмме, как показано ниже:

В следующем разделе вы узнаете, как создавать малые множества графиков в Seaborn.

Создание подмножеств графиков со строками и столбцами

Seaborn предоставляет значительную гибкость в создании подмножеств графиков (или подграфиков), распределяя данные по строкам и столбцам данных. Это позволяет генерировать "малые множества" графиков.

Вместо того чтобы разделять визуализацию с помощью цвета или стиля (хотя это тоже возможно), Seaborn разделит визуализацию на несколько подграфиков. Однако, вам не нужно явно определять подграфики, так как Seaborn автоматически разместит их на сетке FacetGrid.

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

Добавление столбцов в график Seaborn

Чтобы создать колонки подграфиков, можно использовать параметр col=. Данный параметр принимает либо метку столбца DataFrame Pandas, либо массив данных. Давайте разделим нашу визуализацию данных на колонки, основываясь на принадлежности к определенной акции:

# Создание столбцов малых множеств
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', col='day')
plt.show()

В указанном выше коде мы задали библиотеке Seaborn создать колонки малых множеств по колонке 'day'. Это означает, что Seaborn создаст индивидуальный подграфик в общей сетке FacetGrid для каждого уникального значения в колонке

Но что произойдет, если у нас будет много уникальных значений? Seaborn будет продолжать добавлять все больше и больше столбцов.

Из-за этого мы можем использовать параметр col_wrap=, чтобы переносить графики на новую строку. Параметр принимает целое число, которое указывает, сколько столбцов должно быть, прежде чем графики будут перенесены на следующую строку.

# Добавление переноса столбцов для малых множеств
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', col='day', col_wrap=3)
plt.show()

Это приводит к следующей визуализации данных, где наши малые мультипликативы были обернуты вокруг второй колонки:

В следующем разделе вы узнаете, как добавлять дополнительные строки визуализаций.

Добавление строк в график Seaborn

Seaborn также позволяет добавлять строки с наборами небольших графиков. Это работает так же, как и добавление столбцов. Однако, вы также можете сочетать параметр rows= с параметром col=, чтобы создавать строки и столбцы с наборами небольших графиков

Давайте посмотрим, как это выглядит:

# Создание строк и столбцов малых множеств
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', row='sex', col='day')
plt.show()

В приведенном выше блоке кода мы использовали row='sex' и col='day', чтобы разделить малые множества на основе обеих этих колонок. Это приводит к следующей визуализации данных:

Давайте теперь рассмотрим, как мы можем настроить визуализацию данных, добавив заголовки и метки осей в наши графики.

Изменение названий и меток осей в отображении Seaborn

Добавление заголовков и описательных меток осей - отличный способ сделать визуализацию данных более информативной. Во многих случаях вашим читателям будет важно знать, что именно представляет собой точка данных и график. Поэтому важно понимать, как настраивать их в Seaborn.

Добавление заголовка к графику Seaborn

Чтобы добавить заголовок к displot() в Seaborn, можно использовать метод fig.suptitle(), доступный в Matplotlib. Для этого сначала потребуется настроить интервалы в объекте фигуры. Этот процесс может быть несколько эвристическим и требовать метода проб и ошибок.

Взгляните на блок кода ниже:

# Добавление заголовка к displot
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

dist = sns.displot(data=df, x='tip', row='sex', col='day')
dist.fig.subplots_adjust(top=0.92)
dist.fig.suptitle('Сравнение суммы чаевых')
plt.show()

В приведенном выше блоке кода мы внесли ряд важных изменений:

  1. Мы отфильтровали DataFrame, чтобы визуализацию было легче увидеть

  2. Мы присвоили displot переменной, dist

  3. Затем мы отрегулировали верхний отступ, используя fig.subplots_adjust()

  4. Затем мы применили к объекту фигуры метод suptitle()

Это привело к следующей визуализации данных:

Точно так же мы можем настраивать заголовки каждого из создаваемых нами подграфиков. Давайте далее рассмотрим это подробнее.

Добавление заголовков к строкам и столбцам в отображении Seaborn

Seaborn предлагает невероятно гибкие опции форматирования для стилизации небольших многократных элементов, созданных с помощью параметров col= и row=

# Изменение заголовков малых множеств
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

# Создание displot с заданными параметрами
dist = sns.displot(data=df, x='tip', row='sex', col='day')

# Подгонка расположения графиков и добавление общего заголовка
dist.fig.subplots_adjust(top=0.92)
dist.fig.suptitle('Сравнение суммы чаевых')

# Установка заголовков для строк и столбцов
dist.set_titles(row_template='Пол сотрудника: {row_name}', col_template='День недели: {col_name}')

# Показать график
plt.show()

В приведенном выше блоке кода мы использовали метод .set_titles(), доступный для объектов FacetGrid. Этот метод позволяет использовать параметры row_template= и col_template=, которые дают возможность доступа к переменным col_name и row_name с использованием f-string форматирования

Это возвращает визуализацию данных ниже:

В следующем разделе вы узнаете, как настроить метки осей в displot библиотеки Seaborn.

Изменение меток осей в графике Seaborn

По умолчанию Seaborn будет использовать метки столбцов в качестве меток осей в визуализации. Однако во многих случаях это может быть не самым описательным заголовком. Поскольку функция displot() возвращает объект FacetGrid, мы можем использовать вспомогательные методы для решения этой проблемы, включая:

  • .set_xlabel() который устанавливает метку оси X

  • .set_ylabel()который устанавливает метку оси Y

  • .set_axis_labels() который одновременно устанавливает метки осей X и Y

Давайте посмотрим, как это выглядит в Seaborn:

# Добавление подписей к осям для малых множеств
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

# Создание displot с заданными параметрами
dist = sns.displot(data=df, x='tip', row='sex', col='day')

# Подгонка расположения графиков и добавление общего заголовка
dist.fig.subplots_adjust(top=0.92)
dist.fig.suptitle('Сравнение суммы чаевых')

# Установка заголовков для строк и столбцов
dist.set_titles(row_template='Пол сотрудника: {row_name}', col_template='День недели: {col_name}')

# Добавление подписей к осям
dist.set_xlabels('Сумма чаевых')
dist.set_ylabels('Количество транзакций')

# Показать график
plt.show()

В приведенном выше блоке кода, ближе к концу, мы добавили две дополнительные строки кода для настройки подписей осей нашей визуализации данных. Это приводит к следующей визуализации данных:

В следующем разделе вы узнаете, как изменить размер диаграммы displot в Seaborn.

Изменение размера графика Seaborn

Так как функция displot() в Seaborn возвращает объект FacetGrid, мы можем легко изменить размер возвращаемого объекта фигуры. Для этого можно использовать два следующих параметра:

  1. height= который определяет высоту в дюймах каждой грани

  2. aspect=который определяет соотношение сторон, так что height * aspect

Давайте посмотрим, как можно изменить размер более простой визуализации данных в Seaborn:

# Изменение размера фигуры
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.displot(data=df, x='tip', kde=True, height=5, aspect=1.6)
plt.show()

В переданном коде указаны параметры height=5, aspect=1.6. Это означает, что высота каждого элемента будет 5 дюймов, а ширина — 8 дюймов (5 * 1.6). В результате будет получена следующая визуализация данных:

Изменение размера вашей визуализации невероятно просто. Это может быть очень полезно при работе с данными, которые распределяются горизонтально или вертикально, при этом уменьшая количество пустого пространства.

Заключение

В этом уроке вы научились использовать функцию displot() библиотеки Seaborn для создания визуализаций на уровне фигур, связанных с распределением данных. Эта функция позволяет легко создавать графики распределения, включая гистограммы и графики оценки плотности ядра, при этом предоставляя привычный и последовательный интерфейс.

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

Дополнительные ресурсы

Чтобы узнать больше о связанных темах, посетите ресурсы ниже:

Различные диаграммы, созданные с помощью Seaborn displot
Создание гистограммы с помощью Seaborn displot
Создание графика KDE с помощью Seaborn displot
Добавление дополнительных переменных с помощью Hue в графике Seaborn
Добавление KDE в гистограмму Seaborn с помощью displot
Построение двумерного распределения с использованием Seaborn displot
Построение двумерного распределения с использованием Seaborn displot на графике KDE
Добавление Rugplot в график Seaborn
Добавление столбцов с небольшими кратными числами в графике Seaborn
Обертывание столбцов в Seaborn Displot с небольшими кратными
Добавление строк и столбцов с небольшими кратными числами с использованием Seaborn displot
Добавление заголовка к графику Seaborn
Настройка небольших кратных заголовков в Seaborn Displot
Изменение меток осей в Seaborn Displot
Изменение размера фигуры в графике Seaborn

Seaborn histplot – Создание гистограмм в Seaborn
Seaborn kdeplot – Создание графиков оценки плотности ядра
Seaborn Rugplot – Построение графика предельных распределений
Seaborn ecdfplot – Эмпирические кумулятивные функции распределения
Seaborn displot() – Официальная документация
Понимание функции Seaborn displot()
Загрузка образца набора данных
Создание базового графика с помощью Seaborn
Создание графика оценки плотности ядра (Kernel Density Estimate) с помощью Seaborn displot
Изменение графика Seaborn с помощью цвета
Добавление цвета в Seaborn Displot
Добавление цветовых стилей вместо добавления цветовых измерений
Объединение гистограммы с графиком KDE в Seaborn displot
Построение двумерного распределения в Seaborn Displot
Добавление Rugplot в график Seaborn
Создание подмножеств графиков со строками и столбцами
Добавление столбцов в график Seaborn
Добавление строк в график Seaborn
Изменение названий и меток осей в отображении Seaborn
Добавление заголовка к графику Seaborn
Добавление заголовков к строкам и столбцам в отображении Seaborn
Изменение меток осей в графике Seaborn
Изменение размера графика Seaborn
Заключение
Дополнительные ресурсы
Creating a Histogram with Seaborn distplot
Adding Additional Variables with Hue in Seaborn distplot
Plotting a Bivariate Distribution Using Seaborn distplot
Plotting a Bivariate Distribution Using Seaborn distplot in a KDE Plot
Different charts created with Seaborn distplot
Adding a KDE to a Seaborn Histogram with distplot
Adding Columns of Small Multiples in Seaborn distplot
Creating a KDE Plot with Seaborn distplot
Wrapping Columns in Seaborn distplot with Small Multiples
Adding a Rugplot to a Seaborn distplot
Adding a Title to a Seaborn distplot
Customizing Small Multiples Titles in Seaborn distplot
Modifying Axis Labels in Seaborn distplot
Changing the Figure Size in a Seaborn distplot
Adding Rows and Columns of Small Multiples Using Seaborn distplot