Шаг 145.
Язык Python. Визуализация данных. Библиотека Seaborn. Управление компоновкой диаграмм. Класс PairGrid

    На этом шаге мы рассмотрим параметры и примеры использования этого класса.

    Конструктор класса PairGrid содержит параметры, частично совпадающие с теми, что были нами рассмотрены для функции pairplot(), к ним относятся: data, hue, hue_order, palette, hue_kws, vars, {x, y}_vars, corner, height, aspect, dropna, дополнительно есть два параметра для настройки подложки:

layout_pad: int или float, optional
Расстояние между диаграммами.

Despine: bool, optional
Если параметр равен True, то будут убраны ограничительные линии в верхней и правой частях поля графика.

    Для построения диаграммы, по аналогии с классом FacetGird, используется метод map(), в качестве аргумента ему передаётся функция для построения графика. PairGrid предоставляет ещё ряд функций, для управления представлением диаграмм на главной диагонали, верхней и нижней частях сетки: map_diag(), map_offdiag(), map_lower(), map_upper().

    Подготовим набор данных для работы из уже загруженного ранее mpg:

mpg_mod = mpg[["mpg", "weight", "displacement", "origin"]]

    Воспользуемся методом map() объекта класса PairGrid для построения диаграммы:

pg = sns.PairGrid(mpg_mod)
pg.map(plt.scatter)

    Вот полный текст приложения:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style="ticks")

mpg = sns.load_dataset("mpg")
mpg_mod = mpg[["mpg", "weight", "displacement", "origin"]]

pg = sns.PairGrid(mpg_mod)
pg.map(plt.scatter)

plt.show()
Архив с файлом можно взять здесь.


Рис.1. Демонстрация работы с классом PairGrid

    Добавим разделение по признаку origin:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style="ticks")

mpg = sns.load_dataset("mpg")
mpg_mod = mpg[["mpg", "weight", "displacement", "origin"]]

pg = sns.PairGrid(mpg_mod, hue='origin')
pg.map(plt.scatter)

plt.show()
Архив с файлом можно взять здесь.


Рис.2. Демонстрация работы с параметром hue класса PairGrid

    Воспользуемся функциями map_diag() и map_offdiag() для задания типов диаграмм на главной диагонали и вне ее:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style="ticks")

mpg = sns.load_dataset("mpg")
mpg_mod = mpg[["mpg", "weight", "displacement", "origin"]]

pg = sns.PairGrid(mpg_mod)
pg.map_diag(sns.kdeplot)
pg.map_offdiag(plt.scatter)

plt.show()
Архив с файлом можно взять здесь.


Рис.3. Демонстрация работы с с функциями map_diag() и map_offdiag() класса PairGrid

    Вариант работы с map_diag(), map_lower() и map_upper():

import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style="ticks")

mpg = sns.load_dataset("mpg")
mpg_mod = mpg[["mpg", "weight", "displacement", "origin"]]

pg = sns.PairGrid(mpg_mod)
pg.map_diag(plt.hist)
pg.map_lower(plt.scatter)
pg.map_upper(sns.kdeplot)

plt.show()
Архив с файлом можно взять здесь.


Рис.4. Демонстрация работы с с функциями map_diag(), map_lower() и map_upper() класса PairGrid

    На следующем шаге мы рассмотрим Joint-сетку.




Предыдущий шаг Содержание Следующий шаг