15 различных типов визуализации данных с помощью Seaborn

Этот учебник по Seaborn знакомит вас с практической работой по построению статистических графиков с помощью Seaborn на основе набора данных iris.

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

  1. Bar plot
  2. Scatter Plot
  3. Histogram
  4. Line Plot
  5. Violin Plot
  6. Box Plot
  7. Heatmap
  8. Point Plot
  9. Density Plot
  10. Count Plot
  11. Swarm Plot
  12. Pair Plot
  13. Facet Grid
  14. Joint Distribution Plot
  15. Cat plot

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

Установка Seaborn

Seaborn поддерживает Python 3 и выше. Если вы используете более старую версию Python, то для работы с Seaborn вам необходимо перейти на нее.

В [1]:

Pip install seaborn

После установки Seaborn необходимо импортировать его.

В [2]:

import seaborn as sns

Seaborn предоставляет некоторые встроенные наборы данных, такие как “радужка”, “кончики”, “точки”, “клей” и т.д. Другие наборы данных можно посмотреть на GitHub. Эти наборы данных хранятся во фреймах данных Pandas для более эффективной визуализации. Здесь мы используем набор данных “радужка” из Seaborn.

В [3]:

data=sns.load_dataset('iris')
data[10:15]

Выход[3]:

15 различных типов визуализации данных с помощью Seaborn

В [4]:

data['species'].value_counts()

Выход[4]:

15 различных типов визуализации данных с помощью Seaborn

1.Столбиковый график (Bar Plot)

Гистограмма используется для представления категориальной переменной и показывает только среднее значение (или другое значение оценки). Чтобы использовать этот график, мы выбираем категориальный столбец для оси x (вид) и числовой столбец для оси y (длина лепестка), и видим, что создается график, в котором среднее значение берется для каждого категориального столбца.

В [5]:

sns.barplot(x='species',y='petal_length',hue='species',data=data)

Выход[5]:

15 различных типов визуализации данных с помощью Seaborn

2.Диаграмма рассеяния (Scatter Plot)

Диаграмма рассеяния – это диаграмма с несколькими точками данных. Здесь мы видим тесную взаимосвязь между длиной лепестка и длиной чашелистика у разных видов. Ось X представляет собой длину лепестка, а ось Y – длину чашелистика в наборе данных.

В [6]:

sns.scatterplot(x='petal_length',y='sepal_length',hue='species',style='species',s=90,data=data)

Выход[6]:

15 различных типов визуализации данных с помощью Seaborn
Диаграмма рассеяния между длиной чашелистика и длиной лепестка (набор данных Iris)

3. Гистограмма (Histogram)

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

В [7]:

sns.histplot(x='sepal_length',kde=True,data=data)

Выход[7]:

15 различных типов визуализации данных с помощью Seaborn
Гистограмма для длины чашелистика (набор данных Iris)

В [8]:

sns.histplot(x='sepal_length',kde=True,hue='species',data=data)

Выход[8]:

15 различных типов визуализации данных с помощью Seaborn
Гистограмма для длины чашелистика с параметром оттенка (набор данных Iris)

4. Линейный график (Line Plot)

Линейные графики – это универсальный инструмент, который можно использовать для визуализации самых разных зависимостей. Их легко создавать и анализировать, и они могут быть использованы для эффективной передачи данных. На линейном графике каждая точка данных соединена линией. Здесь мы используем длину лепестка на оси X и ширину лепестка на оси Y.

В [9]:

sns.lineplot(x='petal_length',y='petal_width',data=data)

Выход[9]:

15 различных типов визуализации данных с помощью Seaborn
Линейный график между длиной и шириной лепестка (набор данных Iris)

5. Скрипичный сюжет (Violin Plot)

График скрипки показывает плотность данных, подобно диаграмме рассеяния, и представляет категориальные данные, как диаграмма ящиков. Более плотная область данных является более жирной. Форма “скрипки” представляет собой оценку плотности данных по ядру, а ширина формы в каждой точке – плотность данных в этой точке. Здесь мы используем вид на оси X и длину лепестка на оси Y.

В [10]:

sns.violinplot(x='species',y='petal_length',data=data,hue='species')

Выход[10]:

15 различных типов визуализации данных с помощью Seaborn
Виолинплот между видом и длиной лепестка (набор данных Iris)

6. Коробчатый график (Box Plot)

График состоит из коробки и двух усов. Он представляет собой межквартильный размах (IQR), то есть диапазон между первым и третьим квартилями. Медиана представлена линией, находящейся внутри коробки. Усики простираются в 1,5 раза дальше IQR от краев коробки до минимального и максимального значений. Выбросы – это точки данных, которые выходят за пределы этого диапазона и показываются отдельно. Здесь мы используем вид на оси X и длину чашелистика на оси Y.

В [11]:

sns.boxplot(x='species',y='sepal_length',data=data,hue='species')

Выход[11]:

15 различных типов визуализации данных с помощью Seaborn
Бокс-диаграмма между видами и длиной чашелистика (набор данных Iris)

7. Тепловая карта (Heatmap)

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

В [12]:

heat_corr=data.corr()
sns.heatmap(heat_corr,annot=True)

Выход[12]:

15 различных типов визуализации данных с помощью Seaborn
Heatmap (представляет корреляцию между переменными)

8. Точечный график (Point Plot)

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

В[13]:

sns.pointplot(x='species',y='petal_length',data=data,markers ='^',color='g')

Выход[13]:

15 различных типов визуализации данных с помощью Seaborn
Точечный график зависимости между видом и длиной лепестка

9. График плотности (Density Plot)

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

В [14]:

sns.kdeplot(x='petal_length',data=data,hue='species',multiple='stack')

Выход[14]:

15 различных типов визуализации данных с помощью Seaborn
“Складывание” условных распределений (Species wise Petal Length)

В [15]:

sns.kdeplot(x='petal_length',y='sepal_length',data=data,hue='species')

Выход[15]:

15 различных типов визуализации данных с помощью Seaborn
Построить график двумерного распределения с использованием длины чашелистика и длины лепестка

10. Счетный участок (Count Plot)

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

В [16]:

sns.countplot(x='species', data=data)

Выход[16]:

15 различных типов визуализации данных с помощью Seaborn
Подсчет суммарной стоимости каждого вида с помощью Count Plot

11. График роя (Swarm Plot)

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

В[17]:

sns.swarmplot(x='sepal_width',y='species',data=data,hue='species',dodge=True,orient='h',size=8)

Выход[17]:

15 различных типов визуализации данных с помощью Seaborn

12. Парный график (Pair Plot)

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

In [18]:

sns.set(rc = {"figure.figsize":(6,3)})
sns.pairplot(data=data,hue='species')

Выход[18]:

15 различных типов визуализации данных с помощью Seaborn
Сопоставление всех переменных с помощью Pair Plot(Iris Dataset)

13. Фасетная сетка (Facet Grid)

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

В[19]:

g=sns.FacetGrid(data, col="species",height=4,hue='species')
g.map(sns.histplot, "petal_length")

Выход[19]:

15 различных типов визуализации данных с помощью Seaborn
Длина лепестка у каждого вида (набор данных Iris)

14. График совместного распределения (Joint Distribution Plot)

Совместные графики объединяют два разных графика в одно представление, позволяя увидеть взаимосвязь (бивариантную зависимость) между двумя переменными. На этом изображении в центре визуализации построена диаграмма рассеяния (с помощью KDE plots), а для лучшего понимания переменных они представлены на осях x и y.

В [20]:

sns.jointplot(x="sepal_length", y="sepal_width", data=data,
                                 palette='Set2',hue='species')

Выход[20]:

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

15. Cat Plot (Categorical Plot)

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

In [21]:

sns.catplot(data=data, x="petal_length", y="species", kind="violin", color=".9", inner=None)
sns.swarmplot(data=data, x="petal_length", y="species", size=3)

Выход[21]:

15 различных типов визуализации данных с помощью Seaborn
Категориальный график между видами и длиной лепестков

Заключение:

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

+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *