Fügen Sie benutzerdefinierte Elemente zur sns.kdeplot-Legende hinzuPython

Python-Programme
Anonymous
 Fügen Sie benutzerdefinierte Elemente zur sns.kdeplot-Legende hinzu

Post by Anonymous »

Ich möchte einige benutzerdefinierte Elemente zu einer vorhandenen, in Seaborn erstellten Legende hinzufügen. Dies ist mein Versuch, der nicht funktioniert:

Code: Select all

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" )
Problem 1: Was ich versuche, ist, die vorhandenen Griffe und Etiketten von der Axt zu erfassen, den Zoll anzufügen und sie zurückzusetzen, damit ich das ganze Zeug zeige. Aber ich habe diesbezüglich Fehler erhalten.
Problem 2: Mir ist aufgefallen, dass, wenn ich nach dem Anzeigen des kdeplots versuche, ax.legend() auszuführen, die Warnung „Keine Handles mit Beschriftungen zum Einfügen in die Legende gefunden“ angezeigt wird, was seltsam ist, da ich im Plot tatsächlich ein Handle mit Beschriftungen sehe. Warum ist der Grund?
Vielen Dank!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post