Показать доверительный интервал в легенде о сюжете в Python / Seaborn - PullRequest
3 голосов
/ 18 апреля 2019

Я генерирую некоторые диаграммы рассеяния с линейной регрессией и доверительным интервалом, используя seaborn на Python с функцией sns.regplot. Я мог бы найти способ показать линию регрессии в легенде, но я также хотел бы добавить доверительный интервал в легенду (с прозрачным синим в качестве эталонного цвета).

Вот код, который у меня есть, и результат, который я получаю до сих пор.

Tobin_Nationality_Reg = sns.regplot(x="Nationality_Index_Normalized",
                        y="Tobins_Q_2017",
                        data=Scatter_Plot,
                        line_kws={'label':'Regression line'})

plt.xlabel("Nationality Index")
plt.ylabel("Tobin's Q")
plt.legend()`
plt.savefig('Tobin_Nationality_Reg.png')

Вот вывод, который я сейчас получаю: Scatter Plot

enter image description here

У кого-нибудь есть идеи, как я мог это сделать? Заранее спасибо.

1 Ответ

5 голосов
/ 18 апреля 2019

Я полагаю, что нет чистого способа сделать это, потому что seaborn не предоставляет аргументов ключевых слов для вызова fill_between, который отображает доверительный интервал.

Однако это можно сделать, изменив атрибут label PolyCollection напрямую:

x, y = np.random.rand(2, 20)

ax = sns.regplot(x, y, line_kws={'label': 'Regression line'})
ax.collections[1].set_label('Confidence interval')
ax.legend()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...