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
  • Создание простого точечного графика с помощью Seaborn
  • Добавление цвета для дополнительных переменных с помощью точечной диаграммы Seaborn
  • Изменение расчета оценщика на точечных графиках Seaborn
  • Добавление пределов к полосе ошибок на графиках точек Seaborn
  • Изменение расчета панели погрешностей на графиках точек Seaborn
  • Удаление полос ошибок на графиках точек Seaborn
  • Добавление заголовка к точечному графику Seaborn
  • Изменение меток осей на точечных графиках Seaborn
  • Использование палитры с точечными графиками Seaborn
  • Заключение
  • Дополнительные ресурсы
  1. Учебники Matplotlib и Seaborn
  2. Seaborn

Средняя тенденция для категориальных данных в Seaborn Pointplot

PreviousSeaborn catplot – Визуализация категориальных данных в PythonNextSeaborn stripplot: Jitter Plots для распределений категориальных данных

Last updated 1 year ago

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

К концу этого урока вы узнаете следующее:

  • Что такое точечный график и почему вы хотите его использовать

  • Как использовать функцию sns.pointplot()

  • Как создавать и настраивать точечные графики с помощью Seaborn

Оглавление

Понимание точечных графиков

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

Взгляните на изображение ниже, на котором показаны аспекты точечного графика:

Теперь, когда у вас есть хорошее понимание того, что такое точечные графики и зачем они вам могут понадобиться, давайте погрузимся в то, как работает функция sns.pointplot().

Понимание функции точечной диаграммы Seaborn

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

# Понимание функции seaborn.pointplot()
seaborn.pointplot(data=None, *, x=None, y=None, hue=None, order=None, hue_order=None, estimator='mean', errorbar=('ci', 95), n_boot=1000, units=None, seed=None, markers='o', linestyles='-', dodge=False, join=True, scale=1, orient=None, color=None, palette=None, errwidth=None, ci='deprecated', capsize=None, label=None, ax=None)

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

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

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

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

  1. data= указывает на pandas DataFrame, который мы хотим использовать

  2. x= обозначает метку категориального столбца, которую мы хотим использовать. Даже если мы передаем непрерывную переменную, Seaborn будет интерпретировать это как категориальную.

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

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

# Создание простого точечного графика с помощью Seaborn
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.pointplot(data=df, x='day', y='tip')
plt.show()

В приведенном выше блоке кода мы импортировали Seaborn и pyplot. Затем мы использовали функцию sns.load_dataset() для загрузки набора данных 'tips'. Наконец, мы создали точечный график с использованием функции sns.pointplot(), который отображается ниже:

График по умолчанию показывает нам следующую информацию:

  • Средний размер чаевых, разбитый по дням (представлен точками на графике)

  • Относительное изменение между днями (представлено линиями, соединяющими точки)

  • 95%-ный доверительный интервал, основанный на результатах бутстрэппинга (отображается вертикальными линиями, пересекающимися с точками)

Этот график сам по себе дает нам массу информации! Но на этом останавливаться не обязательно. Мы можем использовать множество параметров, которые предлагает нам функция, для того, чтобы сделать график более персонализированным. Давайте посмотрим, как мы можем добавить дополнительную категориальную переменную к нашему графику, используя параметр hue= в следующем разделе.

Добавление цвета для дополнительных переменных с помощью точечной диаграммы Seaborn

Отличный способ добавить больше деталей в точечный график Seaborn - это использовать параметр hue= для добавления дополнительной переменной к визуализации. Этот параметр позволяет разделить вашу категориальную переменную на дополнительные группы, разбивая переменную на соответствующие группы.

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

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

sns.pointplot(data=df, x='day', y='tip', hue='sex')
plt.show()

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

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

Предотвращение перекрытия на графиках точек Seaborn

Мы можем предотвратить наложение линий в точечных графиках Seaborn, используя параметр dodge=. По умолчанию он установлен в значение False. Изменив его на True, Seaborn разделит линии.

# Создание линий на точечных графиках Seaborn
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.pointplot(data=df, x='day', y='tip', hue='sex', dodge=True)
plt.show()

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

Параметр dodge= не принимает только булево значение. Мы можем дополнительно настроить вывод, передав в него число с плавающей точкой. Посмотрите на блок кода ниже, где мы делаем именно это.

# Указание параметра dodge в точечных графиках Seaborn
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.pointplot(data=df, x='day', y='tip', hue='sex', dodge=0.25)
plt.show()

В приведенном выше блоке кода мы добавили к параметру dodge= значение 0.25. Это позволяет сместить линии на 0.25 от ширины категории.

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

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

Изменение расчета оценщика на точечных графиках Seaborn

По умолчанию функция pointplot() в Seaborn агрегирует переменные до их среднего значения. Однако мы можем настроить способ агрегации данных с помощью параметра estimator=. Параметр принимает либо строку, представляющую статистическую функцию (например, 'std' для стандартного отклонения), либо вызываемый объект, который отображает вектор.

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

# Изменение расчетов оценщика в точечных графиках Seaborn
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.pointplot(data=df, x='day', y='tip', hue='sex', dodge=0.25, estimator='std')
plt.show()

Для изменения оценщика достаточно передать строку (или вызываемый объект) в параметр estimator=. Передав 'std', мы агрегировали данные для отображения стандартного отклонения по каждому дню и гендеру.

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

Добавление пределов к полосе ошибок на графиках точек Seaborn

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

# Изменение размеров заглушек в точечных графиках Seaborn
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.pointplot(data=df, x='day', y='tip', hue='sex', dodge=0.25, capsize=0.25)
plt.show()

В приведенном выше блоке кода мы передали значение 0.25, что создало концевую заглушку погрешности, равную четверти ширины категории. Посмотрите на изображение ниже, чтобы увидеть, что получилось в итоге:

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

Изменение расчета панели погрешностей на графиках точек Seaborn

По умолчанию Seaborn создает планку ошибки, основанную на рассчитанном 95% доверительном интервале. Seaborn будет использовать бутстрапирование результата (то есть выборку точек с заменой) заданное количество раз (по умолчанию 1000 раз). Однако мы можем изменить это, используя другой метод расчета планки ошибки.

Seaborn принимает следующие расчеты для погрешностей: 'ci', 'pi', 'se', или 'sd', которые представляют следующие расчеты:

  • 'ci': интервал доверия, который рассчитывает непараметрическую неопределенность

  • 'pi': процентильный интервал, который рассчитывает непараметрическое распределение

  • 'se': стандартная ошибка, которая рассчитывает параметрическую неопределенность

  • 'sd': стандартное отклонение, которое вычисляет параметрическое распределение

Давайте посмотрим, что произойдет, когда мы передадим 'sd', чтобы вычислить стандартное отклонение:

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

sns.pointplot(data=df, x='day', y='tip', hue='sex', dodge=0.25, capsize=0.25, errorbar='sd')
plt.show()

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

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

Удаление полос ошибок на графиках точек Seaborn

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

Ошибка в предоставленной информации. Для удаления планок ошибок в точечной диаграмме Seaborn следует использовать параметр ci=None, а не errorbar=None. Это полностью уберёт индикаторы ошибок.

# Удаление планок ошибок в точечных графиках Seaborn
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.pointplot(data=df, x='day', y='tip', hue='sex', dodge=0.25, capsize=0.25, errorbar=None)
plt.show()

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

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

Вы можете легко добавить заголовок к точечному графику Seaborn, используя метод .set_title(). Метод применяется непосредственно к объекту осей. Это означает, что мы можем просто присоединить метод к функции sns.pointplot(). Давайте посмотрим, как это выглядит:

# Добавление заголовка к точечному графику Seaborn
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

sns.pointplot(data=df, x='day', y='tip', hue='sex', dodge=0.25, capsize=0.25).set_title('Средний чек по дням и полу')
plt.show()

В приведенном выше коде мы использовали метод .set_title() в цепочке с объектом осей точечной диаграммы. Передавая строку, мы смогли добавить заголовок к нашей визуализации, как показано ниже:

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

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

Seaborn предоставляет полезные методы для изменения названий и меток. В предыдущем разделе мы добавили заголовок к нашему графику. Давайте теперь настроим метки осей.

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

В предыдущем разделе мы использовали цепочку вызова метода .set_title() к нашему вызову функции. Это было возможно, потому что функция sns.pointplot() возвращает объект осей. Однако мы не можем продолжать использовать цепочки методов из-за того, что метод .set_title() возвращает.

Из-за этого, сначала нам нужно создать объект axes и добавить несколько вызовов методов, чтобы изменить наши метки осей.

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

ax = sns.pointplot(data=df, x='day', y='tip', hue='sex', dodge=0.25, capsize=0.25)
ax.set_title('Средний чек по дням и полу')
ax.set_xlabel('День недели')
ax.set_ylabel('Сумма чаевых ($)')
plt.show()

В приведенном выше блоке кода мы сначала создали ax, который представляет объект осей. Затем мы использовали метод .set_xlabel() для установки метки для оси X и метод .set_ylabel() для установки метки для оси Y.

Данное задание предполагает возврат следующей визуализации:

Мы смогли добавить пользовательские метки к нашему точечному графику.

Использование палитры с точечными графиками Seaborn

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

Давайте посмотрим, как мы можем использовать палитру 'Set2' в функции построения точечного графика:

# Использование палитры в точечных графиках Seaborn
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset('tips')

ax = sns.pointplot(data=df, x='day', y='tip', hue='sex', dodge=0.25, capsize=0.25, palette='Set2')
ax.set_title('Средний чек по дням и полу')
ax.set_xlabel('День недели')
ax.set_ylabel('Сумма чаевых ($)')
plt.show()

Путем передачи палитры с использованием параметра palette=, мы можем легко стилизовать наш график, как показано ниже:

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

Заключение

В этом руководстве вы научились создавать точечные диаграммы в Seaborn с помощью функции sns.pointplot(). Сначала вы узнали, что такое точечные диаграммы и когда они могут быть полезны. Затем вы ознакомились с различными параметрами функции.

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

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

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

  • Seaborn Catplot — Визуализация категориальных данных в Python

  • Seaborn Boxplot – Как создать прямоугольные и усовые диаграммы

  • Сюжеты Seaborn Violin на Python: полное руководство

  • Seaborn barplot() – создание гистограмм с помощью sns.barplot()

  • Seaborn Countplot — подсчет категориальных данных в Python

  • Swarmplot Seaborn: графики пчелиного роя для распределения категориальных данных

  • График Сиборна: графики джиттера для распределения категориальных данных

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

Понимание точечных графиков
Простой точечный график Сиборна
График перекрывающихся точек с оттенком в Сиборне
Линии графика точек уклонения
Определение уклонения с помощью точечных графиков Сиборна
Изменение средства оценки, используемого в точечных графиках Сиборна
Добавление концов к точечным графикам Сиборна
Изменение расчета шкалы ошибок на точечных графиках Сиборна

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

Удаление полос ошибок на графиках точек Сиборна
Добавление заголовка к точечному графику Seaborn
Добавление меток осей к точечным графикам Сиборна
Использование палитры в точечном графике Seaborn

довольно похожими на столбчатые диаграммы
отличаются от линейных диаграмм!
линейный график
График Seaborn Pointplot: центральная тенденция для категориальных данных
График Seaborn: официальная документация
Понимание точечных графиков
Понимание функции точечной диаграммы Seaborn
Создание простого точечного графика с помощью Seaborn
Добавление цвета для дополнительных переменных с помощью точечной диаграммы Seaborn
Изменение расчета оценщика на точечных графиках Seaborn
Добавление пределов к полосе ошибок на графиках точек Seaborn
Изменение расчета панели погрешностей на графиках точек Seaborn
Удаление полос ошибок на графиках точек Seaborn
Добавление заголовка к точечному графику Seaborn
Изменение меток осей на точечных графиках Seaborn
Использование палитры с точечными графиками Seaborn
Заключение
Дополнительные ресурсы
Understanding Point Plots
Modifying the Estimator Used in Seaborn Point Plots
A Simple Seaborn Point Plot
Dodging Point Plots Lines
Specifying Dodge with Seaborn Point Plots
An Overlapping Point Plot with Hue in Seaborn
Removing Error Bars in Seaborn Point Plots
Modifying the Error Bar Calculation in Seaborn Point Plots
Adding End Caps to Seaborn Point Plots
Adding a Title to a Seaborn Point Plot
Adding Axis Labels to Seaborn Point Plots
11 - Using a Palette in a Seaborn Point Plot