#python #seaborn
Вопрос:
В Seaborn я могу указать, на какой оси должен быть нарисован такой график
df = pd.DataFrame({"a": [1, 2, 3], "b": [7, 6, 2], "c": ["x", "x", "y"]})
_, ax1 = plt.subplots(1, 1)
sns.scatterplot(data=df, x="a", y="b", hue="c", ax=ax1)
Теперь мой вопрос: я хочу поместить сетку фасетов в существующую ось следующим образом:
sns.FacetGrid(df, ax=ax1)
Но у FacetGrid нет параметра с именем ax.
Как я могу достичь этого по-другому?
Обновление 1: Я провел некоторое исследование и выяснил, что FacetGrid создает свой собственный экземпляр рисунка Matplotlib. Поэтому решением, которое, вероятно, является лучшим, было бы использовать Figure.subfigures()
, как описано здесь
Комментарии:
1. пожалуйста, предоставьте воспроизводимый код. Код помогает нам понять вопрос
2. Теперь это яснее?
3.
FacetGrid
обычно предназначен для создания фигуры с несколькими подзаголовками.ax=
Параметр будет указывать только на один подзаголовок. Поскольку существует много нерешенных вопросов о том , как aFacetGrid
может работать с существующимFigure
, такая функциональность не поддерживается текущими версиями Seaborn. Работа с новойsubfigure
концепцией matplotlib является одним из изучаемых направлений, но все еще остается много открытых вопросов.