На этом шаге мы рассмотрим еще несколько параметров этой сетки.
Зададим размеры диаграмм через параметры 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-сетку.