Можно ли изменить количество столбцов легенды, созданной с помощью FacetGrid.add_legend ()? - PullRequest
0 голосов
/ 29 октября 2019

Следующий код создает легенду грида и размещает ее выше:

g = sns.FacetGrid(df, col="col", col_wrap=2, hue='key')
g = g.map(sns.lineplot, 'x', 'y')
g.add_legend()
g._legend.set_bbox_to_anchor((0.5, 1.05))

Есть ли способ управления столбцами чисел? У него есть атрибут _ncol, но я не видел способа его изменить. Смена вручную не делает работу.

1 Ответ

0 голосов
/ 29 октября 2019

Я нашел определение add_legend в исходном коде seaborn. Он принимает **kwargs и передает их self.figure.legend(...) или ax.legend(...).

Таким образом, можно просто передать ncol=2 в качестве параметра. Также лучше было бы определить положение легенды с помощью аргументов loc и / или bbox_to_anchor.

Вот пример:

import seaborn as sns
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", hue="smoker")
g.map(sns.scatterplot, "total_bill", "tip", alpha=.7)
g.add_legend(ncol=2, bbox_to_anchor=(0.5,1.05));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...