- Обзор функций Seaborn
- Реляционные графики
- Графики распределений
- Категориальные графики
- Регрессионые модели
- Матричные модели
- Классы для многосегментных графиков
- Прочие вспомогательные функции
- Библиотека Seaborn в Python
- Почему стоит выбрать seaborn?
- Начало работы
- Как установить Seaborn в Python?
- Использование
- Визуализация
- Удаление осей
- Временная установка стиля фигуры
- Превалирующие элементы стилей
- Масштабирование элементов сюжета
- Заключение
- Как строить красивые графики на Python с Seaborn
- Что такое Seaborn?
- Установка Seaborn
- Строим первые графики
Обзор функций Seaborn
Функции построения графиков в Seaborn можно разделить на несколько групп. Но помимо построения графиков, так же приходится работать с настройками элементов графиков а так же используемыми цветовыми палитрами, для этих целей так же существуют специальные функции.
Реляционные графики
Реляционные графики нужны для визуализации статистической или функциональной зависимости между переменными:
Важной особенностью функций построения графиков в Seaborn является то, что они делятся на два уровня абстрактности. Например, функции scattrplot() и lineplot() могут создавать только один график на уровне области Axes Matplotlib и принимают любые последовательности данных (списки, кортежи, массивы NumPy и серии Pandas). Но более абстрактная функция relplot() использует эти функции для создания многосегментных графиков и принимает данные только в виде объектов DataFrame Pandas. Благодаря функции relplot() можно создавать, например вот такие графики:
Функция relplot() управляет графиком на уровне области Figure Matplotlib и может располагать графики (области Axes) в несколько строк и (или) столбцов, при этом выбрать тип графика, т.е. какая функция scattrplot() или lineplot() будет использоваться для рисования подграфиков можно с помощью параметра kind .
Графики распределений
Графики распределений отражают статистическое распределение некоторой переменной или совместное распределение нескольких переменных. Самыми распространенными среди них являются гистограммы и графики оценки плотности ядра (kde), а вот спользование графиков эмпирической функции распределения вероятности (ecdf) можно встретить не так часто:
На данном рисунке присутствует еще один вспомогательный вид графика rugplot() , который изображает точки наблюдений в виде маленьких полосок около числовой оси. Гистограммы и kde-графики могут отражать характер совместного распределения двух величин:
При этом функция displot() является более абстрактной и может располагать больше категориальных переменных на подграфиках вдоль строк и столбцов:
Категориальные графики
Категориальные графики необходимы если значения переменной могут быть разделены на категории (подмножества) и показывают распределения внутри каждой категории:
Функция catplot() позволяет отобразить больше переменных:
Регрессионые модели
Регрессионые модели — это графики, которые позволяют оценить влияние одних переменных на другие:
На первом графике представлена функция regplot() , которая и строит регрессионные модели. А на втором графике представлена функция residplot() , которая позволяет оценить приемственность линейной регрессии к набору данных.
Функция lmplot() использует их обе и позволяет отображать больше переменных:
Матричные модели
Матричные модели — позволяют строить тепловые карты и кластерные карты с дендрограммами:
Матричные модели не имеют более абстрактной «надфункции» и не могут быть построены в многосегментных графиках каким-то простым способом, но как правило это никогда не требуется. Да и сами матричные модели для более лучшего восприятия от большого размера графика только выигрывают:
Классы для многосегментных графиков
Seaborn предоставляет три класса для создания много сегментных графиков. Первый класс, это FacetGrid , который позволяет посмотреть на соотношение одной или двух переменных в контексте разных подмножеств значений:
Этот класс используют функции relplot() , displot() , catplot() и lmplot() когда формируют сетку для подграфиков. Но сам класс FacetGrid предоставляет доступ к более тонким настройкам элементов графика.
Класс PairGrid позволяет строить многосегментный график в котором отражены все парные и индивидуальные распределения в данных:
Для быстрого построения подобных графиков даже есть отдельная функция pairplot() , но класс PairGrid предоставляет гораздо больше настроек.
Класс JointGrid показывает совместное и индивидуальное распределение двух переменных:
Для быстрого построения подобных графиков так же есть функция jointplot() , но класс JointGrid более гибок при настройке.
Прочие вспомогательные функции
Помимо функций для построения графиков, Seaborn так же содержит ряд вспомогательных функций, для настройки стилей, элементов и цветовых палитр графиков. Например для быстрой смены стиля графиков в зависимости от их типа можно воспользоваться функцией set() . Так, например, для графиков разброса и линейных графиков лучше подходят темные темы:
А для более тяжелых элементов, лучше подойдет светлая тема:
Можно быстро убрать сетку и перенастроить оси графика:
Поскольку цветовые палитры больше всего влияют на восприятие данных, то в Seaborn предусмотрено множество функций для работы с палитрами и их создания. Просто взглянуть на палитру можно с помощью функции color_palette() :
А создать собственную можно с помощью целого ряда функций или виджетов:
Источник
Библиотека Seaborn в Python
Seaborn – это библиотека для создания статистической инфографики на Python. Он построен поверх matplotlib, а также поддерживает структуры данных numpy и pandas. Он также поддерживает статистические единицы из SciPy.
Визуализация играет важную роль, когда мы пытаемся исследовать и понимать данные, Seaborn нацелен на то, чтобы упростить эту задачу и стать центром процесса. Для сравнения: если мы говорим, что matplotlib упрощает и делает сложные вещи возможными, то seaborn пытается упростить и эту сложную задачу, причем четко определенным образом. Но seaborn не является альтернативой matplotlib, считая его дополнением к предыдущему.
Поскольку он построен поверх matplotlib, мы часто будем вызывать функции непосредственно для простых графиков, поскольку он уже создал для него высокоэффективные программы.
Почему стоит выбрать seaborn?
Seaborn предлагает множество функций, которые делают его полезным и простым по сравнению с другими фреймворками. Некоторые из этих функций:
- Функция для построения статистических данных временных рядов с гибкой оценкой и представлением неопределенности оценки.
- Функции для визуализации одномерных и двумерных распределений или для сравнения их между подмножествами данных.
- Функции, которые визуализируют матрицы данных и используют алгоритмы кластеризации для обнаружения структуры в этих матрицах.
- Абстракции высокого уровня для структурирования сеток графиков, которые позволяют легко создавать сложные визуализации.
- Несколько встроенных тем для стилизации графики matplotlib.
- Инструменты для выбора цветовых палитр для создания красивых графиков, раскрывающих закономерности в ваших данных.
- Инструменты, которые подходят и визуализируют модели линейной регрессии для различных типов независимых и зависимых переменных.
Начало работы
Чтобы начать работу с Seaborn, мы установим его на наши компьютеры.
Как установить Seaborn в Python?
Seaborn предполагает, что у вас есть работающая платформа Python 2.7 или выше с пакетами NumPY (1.8.2 и выше), SciPy (0.13.3 и выше) и pandas на устройствах.
После того, как мы установили эти пакеты, мы можем продолжить установку. Для установки pip выполните в терминале следующую команду:
Если вам нравится conda, вы также можете использовать ее для установки пакета, выполните следующую команду:
Кроме того, вы можете использовать pip для установки разрабатываемой версии прямо из GitHub:
Использование
После завершения установки вы можете легко использовать seaborn в своем коде Python, импортировав его:
Визуализация
Когда дело доходит до визуализации, важно рисовать привлекательные фигуры.
Matplotlib обладает широкими возможностями настройки, но в то же время может быть сложным, так как трудно понять, какие настройки нужно настроить, чтобы получить красивый график. Seaborn поставляется с несколькими темами и высокоуровневым интерфейсом для управления внешним видом фигур matplotlib. Посмотрим, как это работает:
Вот как выглядит график со значениями по умолчанию для matplotlib:
Если вы хотите переключиться на настройки по умолчанию для морского транспорта, просто вызовите функцию set:
Вот как выглядит сейчас:
Seaborn предлагает пять предустановленных тем: white grid, dark grid, white, dark и ticks, каждая из которых подходит для разных приложений, а также для личных предпочтений.
Darkgrid используется по умолчанию. Тема White grid похожа, но лучше подходит для графиков с тяжелыми элементами данных, чтобы переключиться на белую сетку:
Для многих участков сетка не нужна. Удалите его, добавив этот фрагмент кода:
Теперь выглядит так:
Или попробуйте белый фон:
На этот раз фон выглядит так:
Иногда вам может потребоваться придать диаграммам дополнительную структуру, и здесь может пригодиться ticks:
Это выглядит так:
Удаление осей
Вы можете вызвать функцию despine, чтобы удалить их:
Это выглядит так:
Когда галочки не охватывают весь диапазон оси, параметр обрезки ограничивает диапазон оставшихся столбцов:
Это выглядит так:
Вы также можете управлять удалением столбцов с помощью дополнительных аргументов для удаления:
Временная установка стиля фигуры
axes_style() помогает, когда вам нужно временно установить стиль фигуры:
Превалирующие элементы стилей
Словарь параметров может быть передан аргументу rc функций axes_style() и set_style() для настройки фигур.
Примечание. Только параметры, которые являются частью определения стиля с помощью этого метода, могут быть переопределены. Для других целей вы должны использовать set(), поскольку он принимает все параметры.
Если вы хотите посмотреть, какие параметры включены, просто вызовите функцию без аргументов, объект будет возвращен:
Затем вы можете установить разные версии этих параметров:
Это выглядит так:
Масштабирование элементов сюжета
Попробуем манипулировать масштабом сюжета. Мы можем сбросить параметры по умолчанию, вызвав set():
Четыре предустановленных контекста: бумага, блокнот, разговор и плакат. Стиль записной книжки используется по умолчанию и использовался на графиках выше:
Заключение
В этом уроке мы увидели, что Seaborn упрощает управление различными графиками. Мы видели примеры масштабирования и изменения.
Источник
Как строить красивые графики на Python с Seaborn
А сейчас делимся традиционным переводом полезного материала.
Визуализация данных — это метод, который позволяет специалистам по анализу данных преобразовывать сырые данные в диаграммы и графики, которые несут ценную информацию. Диаграммы уменьшают сложность данных и делают более понятными для любого пользователя.
Есть множество инструментов для визуализации данных, таких как Tableau, Power BI, ChartBlocks и других, которые являются no-code инструментами. Они очень мощные, и у каждого своя аудитория. Однако для работы с сырыми данными, требующими обработки, а также в качестве песочницы, Python подойдет лучше всего.
Несмотря на то, что этот путь сложнее и требует умения программировать, Python позволит вам провести любые манипуляции, преобразования и визуализировать ваши данные. Он идеально подходит для специалистов по анализу данных.
Python — лучший инструмент для data science и этому много причин, но самая важная — это его экосистема библиотек. Для работы с данными в Python есть много замечательных библиотек, таких как numpy , pandas , matplotlib , tensorflow .
Matplotlib , вероятно, самая известная библиотека для построения графиков, которая доступна в Python и других языках программирования, таких как R. Именно ее уровень кастомизации и удобства в использовании ставит ее на первое место. Однако с некоторыми действиями и кастомизациями во время ее использования бывает справиться нелегко.
Разработчики создали новую библиотеку на основе matplotlib , которая называется seaborn . Seaborn такая же мощная, как и matplotlib , но в то же время предоставляет большую абстракцию для упрощения графиков и привносит некоторые уникальные функции.
В этой статье мы сосредоточимся на том, как работать с seaborn для создания первоклассных графиков. Если хотите, можете создать новый проект и повторить все шаги или просто обратиться к моему руководству по seaborn на GitHub.
Что такое Seaborn?
Seaborn — это библиотека для создания статистических графиков на Python. Она основывается на matplotlib и тесно взаимодействует со структурами данных pandas.
Архитектура Seaborn позволяет вам быстро изучить и понять свои данные. Seaborn захватывает целые фреймы данных или массивы, в которых содержатся все ваши данные, и выполняет все внутренние функции, нужные для семантического маппинга и статистической агрегации для преобразования данных в информативные графики.
Она абстрагирует сложность, позволяя вам проектировать графики в соответствии с вашими нуждами.
Установка Seaborn
Установить seaborn так же просто, как и любую другую библиотеку, для этого вам понадобится ваш любимый менеджер пакетов Python. Во время установки seaborn библиотека установит все зависимости, включая matplotlib , pandas , numpy и scipy .
Давайте уже установим seaborn и, конечно же, также пакет notebook , чтобы получить доступ к песочнице с данными.
Помимо этого, перед началом работы давайте импортируем несколько модулей.
Строим первые графики
Перед тем, как мы начнем строить графики, нам нужны данные. Прелесть seaborn в том, что он работает непосредственно с объектами dataframe из pandas , что делает ее очень удобной. Более того, библиотека поставляется с некоторыми встроенными наборами данных, которые можно использовать прямо из кода, и не загружать файлы вручную.
Давайте посмотрим, как это работает на наборе данных о рейсах самолетов.
Источник