Шаг 141.
Язык Python. Визуализация данных.
Библиотека Seaborn. Управление компоновкой диаграмм. Facet-сетка (окончание)

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

    Зададим размеры диаграмм через параметры height и aspect:

import matplotlib.pyplot as plt
import seaborn as sns

dots = sns.load_dataset("dots")
dots_mod = dots.sample(frac=1)[:250]

fg = sns.FacetGrid(dots_mod, col="choice", row="align", 
                   height=5, aspect=0.5)
fg.map(plt.scatter, "firing_rate", "time")

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


Рис.1. Демонстрация работы с параметрами height и aspect класса FacetGrid

    Изменим порядок отображения графиков и добавим легенду:

import matplotlib.pyplot as plt
import seaborn as sns

dots = sns.load_dataset("dots")
dots_mod = dots.sample(frac=1)[:250]

col_ord = ["T1", "T2"]
fg = sns.FacetGrid(dots_mod, col="choice", row="align", 
                   col_order=col_ord)
fg.map(plt.scatter, "firing_rate", "time").add_legend()

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


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

    Легенду можно поместить на поле с графиком, присвоив параметру legend_out значение False. Параметры xlim, ylim задают диапазоны для осей х и у:

import matplotlib.pyplot as plt
import seaborn as sns

dots = sns.load_dataset("dots")
dots_mod = dots.sample(frac=1)[:250]

ylim = (-1000, 1000)
xlim = (0, 100)
fg = sns.FacetGrid(dots_mod, col="choice", row="align", 
                   xlim=xlim, ylim=ylim)
fg.map(plt.scatter, "firing_rate", "time")

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


Рис.3. Демонстрация работы с параметром xlim и ylim класса FacetGrid

    Приведём несколько примеров работы с осями координат и сеткой. Ещё раз представим вариант диаграммы с параметрами по умолчанию:

import matplotlib.pyplot as plt
import seaborn as sns

dots = sns.load_dataset("dots")
dots_mod = dots.sample(frac=1)[:250]

fg = sns.FacetGrid(dots_mod, col="choice", row="align")
fg.map(plt.scatter, "firing_rate", "time")

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


Рис.4. Диаграмма с параметрами по умолчанию

    Обратите внимание: ось у является общей для всех графиков строки, а х - для всех графиков столбца. Можно принудительно включить отображение отметок на осях для каждого графика с помощью параметров sharex и sharey передав им значения False:

import matplotlib.pyplot as plt
import seaborn as sns

dots = sns.load_dataset("dots")
dots_mod = dots.sample(frac=1)[:250]

fg = sns.FacetGrid(dots_mod, col="choice", row="align", 
                   sharex=False, sharey=False)
fg.map(plt.scatter, "firing_rate", "time")

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


Рис.5. Демонстрация работы с параметрами sharex и sharey класса FacetGrid

    Если параметр despine оставить со значением по умолчанию, то мы получим открытые правую и верхнюю стороны поля графика:

import matplotlib.pyplot as plt
import seaborn as sns

dots = sns.load_dataset("dots")
dots_mod = dots.sample(frac=1)[:250]

fg = sns.FacetGrid(dots_mod, col="choice", row="align")
fg.map(plt.scatter, "firing_rate")

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


Рис.6. Демонстрация работы с параметром despine класса FacetGrid

    Присвоим ему значение False:

import matplotlib.pyplot as plt
import seaborn as sns

dots = sns.load_dataset("dots")
dots_mod = dots.sample(frac=1)[:250]

fg = sns.FacetGrid(dots_mod, col=col="choice",
                   hue="align", despine=False)
fg.map(plt.scatter, "firing_rate")

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


Рис.7. Демонстрация работы с параметром despine=False класса FacetGrid

    Как вы можете видеть, поля с графиками стали ограничеными со всех сторон.

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




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