Я использую следующий кодземля множественным DataFrame колонны в Сиборн FacetGrid
import seaborn as sns
g = sns.FacetGrid(dataframe, col='A', hue='A')
g.map(plt.plot, 'X', 'Y1')
plt.show()
сделать Сиборн фаска сюжет так:
Теперь я хотел бы добавить еще одну строку в этом участке другую переменную, назовем ее Y2 на оси y. Результат должен выглядеть примерно вертикально укладки двух участков, полученных
g = sns.FacetGrid(dataframe, col='A', hue='A')
g.map(plt.plot, 'X', 'Y1')
plt.show()
g = sns.FacetGrid(dataframe, col='A', hue='A')
g.map(plt.plot, 'X', 'Y2')
plt.show()
но в одном участке, без дублированных осей х и названия («A = < значения >») и без создания новый объект FacetGrid
.
Обратите внимание, что
g = sns.FacetGrid(dataframe, col='A', hue='A')
g.map(plt.plot, 'X', 'Y1')
g.map(plt.plot, 'X', 'Y2')
plt.show()
не achive это, поскольку она приводит к кривой как для Y1 и Y2 отображается в том же подзаговоре для каждого значения А.
Вы должны изменить свой DataFrame так, что есть один 'столбец Y' и дополнительный столбец, который указывает, какие наблюдения' Y1' и которые являются 'У2 '. Затем вы можете использовать грань 'row'. – mwaskom
@mwaskom Это действительно возможно (например, с помощью http://pandas.pydata.org/pandas-docs/stable/generated/pandas.melt.html) и работает в некоторой степени, однако по умолчанию все оси y получают одинаковый масштаб, а переменная Y отображается в заголовке, а не влево. Хотя это, конечно, можно скорректировать вручную, мне бы хотелось увидеть решение, требующее как можно меньше ручных исправлений. – arccos
Используйте 'sharey =" строку "' и 'margin_titles = True'. – mwaskom