Добавьте пользовательские элементы в легенду sns.kdeplotPython

Программы на Python
Ответить
Anonymous
 Добавьте пользовательские элементы в легенду sns.kdeplot

Сообщение Anonymous »

Я хотел бы добавить несколько пользовательских элементов к существующей легенде, созданной в Seaborn. Это моя попытка, которая не работает:

Код: Выделить всё

import seaborn as sns
import numpy as np

_, ax = plt.subplots(figsize=(15, 7))

sns.kdeplot(
x=np.random.normal(0, 20, size=1000),
ax=ax,
hue=np.random.choice([0, 1], size=1000, p=[.1, .9]),
common_norm=False,
fill=True,
)

legend_elements = [
Line2D([0], [0], color="k", label="xxx"),
Line2D([0], [0], color="k", ls=":", label="yyy"),
]

h = ax.get_legend_handles_labels()

ax.legend(handles=h + legend_elements, loc="upper right" )
Проблема 1. Я пытаюсь захватить существующие ручки и метки из топора, добавить таможенные и вернуть их обратно, чтобы отобразить все это. Но у меня возникли ошибки.
Проблема 2: я заметил, что если после отображения kdeplot я пытаюсь выполнить ax.legend(), он выдает предупреждение «Не найдено дескрипторов с метками для включения в легенду», что странно, поскольку я вижу дескриптор с метками на графике. В чем причина?
Спасибо большое!

Подробнее здесь: https://stackoverflow.com/questions/715 ... lot-legend
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»