Python - это кладезь множества чрезвычайно мощных библиотек и фреймворков. Среди них есть Сиборн, который является доминирующим визуализация данных библиотека, что дает программистам еще одну причину для завершения . В этом учебном пособии по Python Seaborn вы познакомитесь со всеми приемами визуализации данных с помощью Seaborn.
Прежде чем двигаться дальше, давайте рассмотрим все темы, обсуждаемые в этой статье:
- Зачем использовать Seaborn?
- Как установить Seaborn?
- Установка зависимостей Python Seaborn
- Функции построения графиков Seaborn
- Сетки с несколькими сюжетами
- Сюжет-эстетика
Итак, давайте сначала рассмотрим важность Python Seaborn.
Зачем использовать Python Seaborn?
Как упоминалось ранее, библиотека Python Seaborn используется для облегчения сложной задачи визуализации данных и основана на . Seaborn позволяет создавать статистические графики с помощью следующих функций:
API, основанный на наборах данных, позволяющий сравнивать несколько переменные
Поддерживает многослойные сетки, которые, в свою очередь, упрощают создание сложных визуализаций
Доступны одномерные и двумерные визуализации для сравнения между подмножествами данных
Доступность различных цветовых палитр для выявления различных узоров
Оценки и графики автоматически
Итак, если вам интересно, зачем использовать Seaborn, когда у вас уже есть Matplotlib, вот ответ на него.
Python Seaborn против Matplotlib:
«Если Matplotlib« пытается сделать легкие вещи легкими, а сложные - возможными », то seaborn пытается упростить и четко определенный набор сложных вещей», - Майкл Васком (создатель Seaborn).
Собственно, Матплотлиб хорош, но Сиборн лучше. В основном, Seaborn исправляет два недостатка Matplotlib:
Matplotlib можно персонализировать, но сложно понять, какие настройки необходимы, чтобы сделать графики более привлекательными. С другой стороны, Seaborn предлагает множество настраиваемых тем и высокоуровневых интерфейсов для решения этой проблемы.
При работе с Панды , Matplotlib не подходит для работы с DataFrames, тогда как функции Seaborn фактически работают с DataFrames.
что такое слабая связь в Java
Как установить Seaborn?
Чтобы установить библиотеку Python Seaborn, вы можете использовать следующие команды в зависимости от используемой платформы:
pip install seaborn
или
conda установить seaborn
После установки просто убедитесь, что вы установили пакеты и библиотеки, от которых зависит seaborn.
Установка зависимостей Python Seaborn:
Обязательные зависимости для морского транспорта:
Также есть одна рекомендуемая зависимость:
- государственные модели
Чтобы установить эти библиотеки, вы можете использовать те же команды, которые были показаны ранее для Seaborn с соответствующими именами. После установки их можно легко импортировать. Seaborn позволяет загружать любой набор данных из с использованием load_dataset () функция. Вы также можете просмотреть все доступные наборы данных, используя функцию get_dataset_names () следующим образом:
ПРИМЕР:
импортировать seaborn как sns sns.get_dataset_names ()
Это вернет список всех доступных наборов данных.
Теперь, когда вы настроили среду для работы с seaborn, давайте продолжим, чтобы увидеть, как использовать его функции построения графиков в .
Функции построения графиков Seaborn
Визуализация статистических отношений:
Процесс понимания взаимосвязей между переменными набора данных и того, как эти отношения, в свою очередь, зависят от других переменных, известен как статистический анализ. Теперь давайте подробнее рассмотрим функции, необходимые для этого:
relplot ():
Это функция уровня фигуры, которая использует две другие функции осей для визуализации статистических отношений, а именно:
- диаграмма рассеяния ()
- линейный график ()
Эти функции можно указать с помощью параметра «kind» функции relplot (). Если этот параметр задан, он принимает значение по умолчанию - scatterplot (). Прежде чем приступить к написанию кода, обязательно импортируйте необходимые библиотеки следующим образом:
импортировать numpy как np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set (style = 'darkgrid')
Обратите внимание, что атрибут стиля также настраивается и может принимать любое значение, такое как темная сетка, отметки и т. Д., О которых я расскажу позже в разделе эстетики сюжета. Давайте теперь рассмотрим небольшой пример:
ПРИМЕР:
f = sns.load_dataset ('рейсы') sns.relplot (x = 'пассажиры', y = 'месяц', данные = f)
ВЫВОД:
Как видите, точки нанесены в 2-х измерениях. Однако вы можете добавить еще одно измерение, используя семантику «оттенок». Давайте посмотрим на пример того же:
ПРИМЕР:
f = sns.load_dataset ('рейсы') sns.relplot (x = 'пассажиры', y = 'месяц', оттенок = 'год', data = f)
Вы увидите следующий результат:
ВЫВОД:
Однако есть еще много настроек, которые вы можете попробовать, например цвета, стили, размер и т. Д. Позвольте мне просто показать, как вы можете изменить цвет, в следующем примере:
ПРИМЕР:
sns.set (style = 'darkgrid') f = sns.load_dataset ('рейсы') sns.relplot (x = 'пассажиры', y = 'месяц', оттенок = 'год', palette = 'ch: r = - .5, l = .75 ', данные = f)
ВЫВОД:
lineplot ():
Эта функция позволит вам нарисовать непрерывную линию для ваших данных. Вы можете использовать эту функцию, изменив параметр «kind» следующим образом:
ПРИМЕР:
a = pd.DataFrame ({'День': [1,2,3,4,5,6,7], 'Бакалея': [30,80,45,23,51,46,76], 'Одежда' : [13,40,34,23,54,67,98], 'Посуда': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) g = sns.relplot (x = 'День', y = 'Одежда', kind = 'line', data = a) g.fig.autofmt_xdate ()
ВЫВОД:
По умолчанию для линейного графика используется y как функция от x. Однако при желании его можно изменить. Есть еще много вариантов, которые вы можете попробовать дальше.
Теперь давайте посмотрим, как построить категориальные данные.
График с категориальными данными:
Этот подход проявляется, когда наша основная переменная далее делится на дискретные группы (категориальные). Этого можно добиться с помощью функции catplot ().
catplot ():
Это функция уровня фигуры, такая как relplot (). Его можно охарактеризовать тремя семействами функций уровня осей, а именно:
Диаграммы рассеивания - к ним относятся stripplot (), swarmplot ()
как сделать массив объектов
Графики распределения - это boxplot (), violinplot (), boxenplot ()
Графики оценки, а именно pointplot (), barplot (), countplot ()
Давайте теперь рассмотрим несколько примеров, чтобы продемонстрировать это:
ПРИМЕР:
импортировать seaborn как sns import matplotlib.pyplot as plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', данные = а)
ВЫВОД:
Как видите, в приведенном выше примере я не установил параметр «kind». Поэтому он вернул график в качестве диаграммы рассеяния по умолчанию. Вы можете указать любую функцию уровня по осям, чтобы при необходимости изменить график. Давайте также рассмотрим это на примере:
ПРИМЕР:
импортировать seaborn как sns import matplotlib.pyplot as plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', kind = 'скрипка', data = a)
ВЫВОД:
Приведенный выше вывод показывает сценарий скрипки для набора данных подсказок. Теперь давайте попробуем найти, как визуализировать распределение набора данных.
Визуализация распределения набора данных:
Это в основном касается понимания наборов данных с контекстом, чтобы быть одномерными или двумерными. Прежде чем начать с этого, просто импортируйте следующее:
import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt из scipy import stats sns.set (color_codes = True)
Как только это будет сделано, вы можете продолжить построение одномерного и двумерного распределений.
Построение одномерных распределений:
Для их построения вы можете использовать функцию distplot () следующим образом:
ПРИМЕР:
a = np.random.normal (loc = 5, size = 100, scale = 2) sns.distplot (a)
ВЫВОД:
Как вы можете видеть в приведенном выше примере, мы построили график для переменной a, значения которой генерируются функцией normal () с использованием distplot.
Построение двумерных распределений:
Это проявляется, когда у вас есть две случайные независимые переменные, которые приводят к некоторому вероятному событию. Лучшая функция для построения графиков такого типа - Jointplot (). Давайте теперь построим двумерный граф с помощью Jointplot ().
ПРИМЕР:
x = pd.DataFrame ({'День': [1,2,3,4,5,6,7], 'Бакалея': [30,80,45,23,51,46,76], 'Одежда' : [13,40,34,23,54,67,98], 'Посуда': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) y = pd.DataFrame ({'День': [8,9,10,11,12,13,14], 'Бакалея': [30,80,45,23,51,46, 76], «Одежда»: [13,40,34,23,54,67,98], «Посуда»: [12,32,27,56,87,54,34]}, index = [8,9 , 10,11,12,13,14]) mean, cov = [0, 1], [(1, .5), (.5, 1)] data = np.random.multivariate_normal (mean, cov, 200 ) с sns.axes_style ('white'): sns.jointplot (x = x, y = y, kind = 'kde', color = 'b')
ВЫВОД:
Теперь, когда вы разобрались с различными функциями Python Seaborn, давайте перейдем к построению структурированных многосюжетных сеток.
Сетки с несколькими графиками:
Python Seaborn позволяет строить несколько сеток бок о бок. В основном это графики или графики, построенные с использованием одного и того же масштаба и осей, чтобы облегчить сравнение между ними. Это, в свою очередь, помогает программисту быстро различать графики и получать большие объемы информации.
Рассмотрим следующий пример функции facetgrid () для построения этих графиков.
ПРИМЕР:
sns.set (style = 'darkgrid') a = sns.load_dataset ('iris') b = sns.FacetGrid (a, col = 'разновидности') b.map (plt.hist, 'sepal_length')
ВЫВОД:
Приведенный выше результат ясно показывает сравнение советов, которые даются во время обеда и ужина. Вы также можете построить график с помощью функции PairGrid, если у вас есть пара переменных для сравнения. Рассмотрим следующий пример.
в чем разница между html и xml
ПРИМЕР:
sns.set (style = 'ticks') a = sns.load_dataset ('flight') b = sns.PairGrid (a) b.map (plt.scatter)
ВЫВОД:
Как вы можете видеть, приведенные выше результаты четко сравнивают год и количество пассажиров по-разному.
Seaborn также позволяет настраивать эстетику, которая обсуждается далее.
Сюжет-эстетика:
Этот сегмент руководства Python Seaborn посвящен тому, как сделать наши сюжеты более привлекательными и восхитительными.
Эстетика фигуры Python Seaborn:
Первая функция, которую я буду обсуждать, - это set (). Раньше я использовал параметр «стиль» этой функции. Этот параметр в основном имеет дело с морскими темами. В настоящее время доступно пять из них: darkgrid, ticks, whitegrid, white и dark.
Рассмотрим следующий пример, демонстрирующий белую тему.
ПРИМЕР:
импортировать seaborn как sns import matplotlib.pyplot as plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ('tips') sns.boxplot (x = 'day', y = 'total_bill', данные = а)
ВЫВОД:
В приведенном выше выводе вы можете заметить, что тема изменилась на белый цвет. Вы можете изучить их дальше, используя другие темы. Если вы заметили в предыдущем выводе, по всему графику есть оси. Однако это также можно настроить с помощью функции despine (). Посмотрите на пример ниже.
ПРИМЕР:
импортировать seaborn как sns import matplotlib.pyplot as plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ('tips') sns.boxplot (x = 'day', y = 'total_bill', data = a) sns.despine (смещение = 10, trim = True)
ВЫВОД:
Обратите внимание на разницу между двумя предыдущими выходами. Однако есть еще много вариантов, которые вы можете изучить самостоятельно.
Цветовые палитры Python Seaborn:
Цвет - это, по сути, черта, которая приближается к человеческому глазу больше всех остальных. Seaborn позволяет вам играть с цветами, используя различные функции, такие как color_palette (), hls_palette (), husl_palette () и т. Д. Обратите внимание на цвета, которые в настоящее время присутствуют в seaborn.
ПРИМЕР:
import numpy as np import seaborn as sns import matplotlib.pyplot as plt sns.set () presentcolors = sns.color_palette () sns.palplot (presentcolors)
ВЫВОД:
На изображении выше показаны цвета, присутствующие в морской воде. Я сделал это с помощью функции palplot (). Для более глубоких вариантов вы можете использовать hls_palette (), husl_palette () и т. Д.
На этом мы подошли к концу учебника Python Seaborn. Надеюсь, вы все ясно поняли. Убедитесь, что вы тренируетесь как можно больше .
Есть вопрос к нам? Пожалуйста, упомяните об этом в разделе комментариев этого блога «Учебник Python Seaborn», и мы свяжемся с вами как можно скорее.
Чтобы получить более глубокие знания о Python и его различных приложениях, вы можете зарегистрироваться в режиме реального времени. с круглосуточной поддержкой и пожизненным доступом.