- Парный график Seaborn в Python для визуализации данных
- Что такое библиотека Seaborn в Python?
- Как установить библиотеку Seaborn?
- Функция Seaborn Pairplot
- Как создать несколько графиков Matplotlib на одном рисунке
- Пример 1: сложите графики вертикально
- Пример 2: сложить графики по горизонтали
- Пример 3: создание сетки графиков
- Пример 4: Совместное использование осей между участками
- Как сделать два графика рядом с помощью Python
Парный график Seaborn в Python для визуализации данных
В этом руководстве мы изучим парный график Seaborn в Python для визуализации данных с помощью функции pairplot() на языке программирования Python. Эта функция может значительно помочь в анализе исследовательских данных для проектов машинного обучения. Мы также познакомимся с синтаксисом функции pairplot() библиотеки seaborn и выполним некоторые из ее примеров.
Но прежде чем мы начнем, давайте вкратце разберемся с библиотекой Seaborn.
Что такое библиотека Seaborn в Python?
Библиотека Seaborn была разработана на основе библиотеки matplotlib и тесно интегрирована со структурами данных Pandas в Python. Визуализация – центральная концепция библиотеки Seaborn, помогающая пользователям исследовать и понимать данные.
Поскольку библиотека Seaborn объединяет и интегрирует различные библиотеки, изучающим Python необходимо знать библиотеки NumPy, Matplotlib и Pandas.
Библиотека Seaborn предоставляет различные функции. Некоторые из них перечислены ниже:
- Seaborn предоставляет интерфейс прикладного программирования (API), ориентированный на набор данных, для определения взаимосвязи между переменными.
- Seaborn также предоставляет функции автоматической оценки и построения графиков линейной регрессии.
- Обеспечивает поддержку высокоуровневых абстракций для нескольких сеток графиков.
- Предлагает визуализировать распределение как одномерное и двумерное.
Теперь давайте разберемся, как загрузить и установить библиотеку Seaborn.
Как установить библиотеку Seaborn?
В следующем разделе мы обсудим шаги, связанные с процессом установки библиотеки Seaborn.
Мы можем установить последнюю версию библиотеки Seaborn с помощью установщика pip. Все, что нам нужно сделать, это ввести следующую команду в командной оболочке или в терминале.
Anaconda – это мультиплатформенный бесплатный дистрибутив Python для стека SciPy, доступный для Windows, Linux и Mac.
Мы можем установить последнюю версию библиотеки Seaborn с помощью установщика conda, используя команду, показанную ниже:
Помимо этих двух, мы можем установить разрабатываемую версию библиотеки Seaborn.
Чтобы установить версию для разработки, мы можем перейти по ссылке ниже:
При загрузке и установке библиотеки Seaborn необходимо позаботиться о нескольких следующих зависимостях:
- Python версии 2.7 или 3.4+.
- Библиотека NumPy.
- Библиотека Matplotlib.
- SciPy.
- Pandas.
- Инициализация библиотеки Seaborn
Когда мы закончим загрузку и установку библиотеки Seaborn, давайте создадим пустой файл Python и воспользуемся следующим синтаксисом для инициализации библиотеки.
Сохраните программу и запустите файл. Если программа не возвращает ошибку импорта, библиотека установлена успешно. В противном случае рассмотрите возможность переустановки библиотеки, как описано выше.
Библиотека Seaborn предоставляет пользователю возможность строить широкий спектр графиков, таких как:
- Круговые диаграммы.
- Столбцовые диаграммы.
- Графики распределения.
- Диаграммы разброса.
- Тепловые карты.
- Парные графики.
В этом уроке мы будем обсуждать только парные графики Seaborn и функцию pairplot(). Итак, приступим.
Функция Seaborn Pairplot
Функция Seaborn Pairplot позволяет пользователям создавать сетку осей, через которую каждая числовая переменная, хранящаяся в данных, распределяется по осям X и Y в структуре столбцов и строк. Мы можем создать точечные графики, чтобы отображать попарные отношения в дополнение к графику распределения, отображающему распределение данных в столбце по диагонали.
Функцию pairplot() также можно использовать для демонстрации подмножества переменных, или мы можем нанести различные типы переменных на строки и столбцы.
Давайте посмотрим на синтаксис функции Seaborn Pairplot, показанный ниже:
seaborn.pairplot( data, hue = None, hue_order = None, palette = None, vars = None, x_vars = None, y_vars = None, kind = 'scatter', diag_kind = 'auto', markers = None, height = 2.5, aspect = 1, corner = False, dropna = False, plot_kws = None, diag_kws = None, grid_kws = None, size = None )
Параметры функции Pairplot:
- data: параметр data принимает данные в зависимости от визуализации, которую нужно построить. Значения могут быть в виде DataFrame, Array или List of Arrays.
- hue_order, order: параметр hue_order или просто порядок – это порядок категориальных переменных, используемых в графике. Значения этого параметра могут быть списками строк.
- scale: параметр масштаба используется для масштабирования графика. Этот параметр принимает больше значений для использования, таких как площадь, количество или ширина.
- scale_hue: параметр scale_hue принимает логическое значение, чтобы определить, оценивается ли шкала на каждом уровне основной группирующей переменной как ИСТИНА или для всех скрипок на графике как ЛОЖЬ.
- gridsize: параметр gridsize принимает целочисленное значение для вычисления плотности ядра для графика.
- inner: внутренний параметр позволяет пользователям определять внутренние точки скрипичного сюжета. Этот параметр принимает такие значения, как box, point, quartile, stick или None.
- orient: параметр orient позволяет пользователю определять ориентацию графика. Ориентация может быть вертикальной, обозначается буквой «v», или горизонтальной, обозначается буквой «h» соответственно.
- linewidth: параметр linewidth принимает целое число с плавающей запятой в качестве значения для определения ширины серых линий, используемых на графике.
- цвет: параметр цвета позволяет пользователю указать диапазон цвета для всех элементов данных графика. Значение этого параметра может быть цвет matplotlib.
- palette: параметр палитры используется для определения цветов, используемых для каждого уровня графика с различными оттенками.
- ax: параметр ax используется для определения осей, на которых будет построен график. Значением этого параметра может быть matplotlib Axes.
Давайте рассмотрим несколько примеров, чтобы понять работу функции pairplot():
# importing the required libraries import seaborn as sbn import matplotlib.pyplot as plt # loading the dataset using the seaborn library mydata = sbn.load_dataset('penguins') # pairplot with the hue = gender parameter sbn.pairplot(mydata, hue = 'gender') # displaying the plot plt.show()
В приведенном выше примере мы импортировали необходимые библиотеки и загрузили набор данных пингвинов для работы с помощью функции Seaborn load_dataset(). Затем мы использовали функцию pairplot() для визуализации графика с параметром оттенка, установленным на значение «пол».
Наконец, мы использовали функцию Matplotlib show() для отображения графика пользователям. В результате парный график был успешно сгенерирован.
# importing the required libraries import seaborn as sbn import matplotlib.pyplot as plt # loading the dataset using the seaborn library mydata = sbn.load_dataset('tips') # pairplot with the kind = kde parameter sbn.pairplot(mydata, kind = 'kde') # displaying the plot plt.show()
В приведенном выше примере мы импортировали необходимые библиотеки и загрузили набор данных для работы с подсказками, используя функцию Seaborn load_dataset(). Затем мы использовали функцию pairplot() для визуализации графика с параметром kind, установленным на значение «kde».
Наконец, мы использовали функцию Matplotlib show() для отображения графика пользователям. В результате парный график был успешно сгенерирован.
Как создать несколько графиков Matplotlib на одном рисунке
Вы можете использовать следующий синтаксис для создания нескольких графиков Matplotlib на одном рисунке:
import matplotlib.pyplot as plt #define grid of plots fig, axs = plt.subplots(nrows= 2 , ncols= 1 ) #add data to plots axs[0].plot(variable1, variable2) axs[1].plot(variable3, variable4)
В следующих примерах показано, как использовать эту функцию на практике.
Пример 1: сложите графики вертикально
В следующем коде показано, как создать три графика Matplotlib, расположенные вертикально:
#create some data var1 = [1, 2, 3, 4, 5, 6] var2 = [7, 13, 16, 18, 25, 19] var3 = [29, 25, 20, 25, 20, 18] #define grid of plots fig, axs = plt.subplots(nrows= 3 , ncols= 1 ) #add title fig. suptitle('Plots Stacked Vertically') #add data to plots axs[0].plot(var1, var2) axs[1].plot(var1, var3) axs[2].plot(var2, var3)
Пример 2: сложить графики по горизонтали
В следующем коде показано, как создать три графика Matplotlib, расположенные горизонтально:
#create some data var1 = [1, 2, 3, 4, 5, 6] var2 = [7, 13, 16, 18, 25, 19] var3 = [29, 25, 20, 25, 20, 18] #define grid of plots fig, axs = plt.subplots(nrows= 1 , ncols= 3 ) #add title fig. suptitle('Plots Stacked Horizontally') #add data to plots axs[0].plot(var1, var2) axs[1].plot(var1, var3) axs[2].plot(var2, var3)
Пример 3: создание сетки графиков
Следующий код показывает, как создать сетку графиков Matplotlib:
#create some data var1 = [1, 2, 3, 4, 5, 6] var2 = [7, 13, 16, 18, 25, 19] var3 = [29, 25, 20, 25, 20, 18] var4 = [4, 4, 6, 4, 7, 11] #define grid of plots fig, axs = plt.subplots(nrows= 2 , ncols= 2 ) #add title fig. suptitle('Grid of Plots') #add data to plots axs[0, 0].plot(var1, var2) axs[0, 1].plot(var1, var3) axs[1, 0].plot(var1, var4) axs[1, 1].plot(var3, var1)
Пример 4: Совместное использование осей между участками
Вы можете использовать аргументы sharex и sharey , чтобы убедиться, что несколько графиков используют одну и ту же ось X:
#create some data var1 = [1, 2, 3, 4, 5, 6] var2 = [7, 13, 16, 18, 25, 19] var3 = [29, 25, 20, 25, 20, 18] var4 = [4, 4, 6, 4, 7, 11] #define grid of plots fig, axs = plt.subplots(nrows= 2 , ncols= 2 , sharex= True , sharey= True ) #add title fig. suptitle('Grid of Plots with Same Axes') #add data to plots axs[0, 0].plot(var1, var2) axs[0, 1].plot(var1, var3) axs[1, 0].plot(var1, var4) axs[1, 1].plot(var3, var1)
Как сделать два графика рядом с помощью Python
Параметрами для subplot являются: количество строк, количество столбцов и какая подзадача, в которой вы сейчас находитесь. Итак, 1, 2, 1 означает «1-строчный, 2-столбцовый рисунок: перейдите к первому подзаголовку». Затем 1, 2, 2 означает «1-строчный, 2-столбцовый рисунок: перейдите ко второму подзаголовку». В настоящее время вы запрашиваете двухстрочный 1-столбцовый (то есть один поверх другого) макет. Вместо этого вам нужно запросить 1-строчный, 2-колонный макет. Когда вы это сделаете, результатом будет: Чтобы свести к минимуму перекрытие подзаголовков, вам может понадобиться:
перед шоу. Уступая:
Проверьте эту страницу: http://matplotlib.org/examples/pylab_examples/subplots_demo.html plt.subplots аналогичен. Первые два аргумента определяют макет (в вашем случае 2 строки, 1 столбец). Просто поменяйте их, чтобы получить их бок о бок (а не поверх друг друга).
Я бы предложил использовать plt.subplots . Вы можете указать аргумент figsize чтобы определить размер фигуры. Как и в plt.subplots(1, 2, figsize=(20, 4)) . В противном случае вы можете сначала определить фигуру и размер фигуры: plt.figure(figsize=(20, 4)) .
По какой-то причине я получаю пустые данные, когда пытаюсь сохранить «plt.savefig (‘. png’)» подзаговор. В начале я повторял тот же код (я добавил только plt.figure (figsize = (7, 3))).