Seaborn: Annotations im Scatterplot
Verfasst: Mittwoch 5. April 2023, 15:42
Hallo zusammen,
ich wollte in einem Scatterplot Annotation zu den Datenpunkten anzeigen, wenn die Maus auf dem Punkt steht. Ich konnte leider nur Beispiele finden mit Matplotlib und nicht für Seaborn direkt.
Letzteres ist mir lieber, weil es angenehmer zum Arbeiten ist und ich in Zukunft bestimmt noch öfters Ähnliches machen muss.
Hier mein Code:
Die Tabelle "kom" ist folgendermaßen aufgebaut.
Komponente; Text; Status; Preis; Währg; Cluster; Anzahl Bauteile; Normteile; No. feature; No. orders
123456; "Pumpe"; "X"; 2,50;"EUR"; "Hydraulik"; 52; 12, 2; 2500
234567; "Motor"; "X"; 2,50;"EUR"; "Antrieb"; 411; 172, 24; 2103
Wenn die Maus über einem Punkt steht, soll der Inhalt aus der Spalte Text angezeigt werden.
Vielen Dank im Voraus
ich wollte in einem Scatterplot Annotation zu den Datenpunkten anzeigen, wenn die Maus auf dem Punkt steht. Ich konnte leider nur Beispiele finden mit Matplotlib und nicht für Seaborn direkt.
Letzteres ist mir lieber, weil es angenehmer zum Arbeiten ist und ich in Zukunft bestimmt noch öfters Ähnliches machen muss.
Hier mein Code:
Code: Alles auswählen
import seaborn as sns
sns.set_theme(style='whitegrid')
sns.set(rc={'figure.figsize':(10,7)})
def show(normteile=True):
sns.set_theme(style='whitegrid')
df=kom
#Filtern nach Normteilen
if not normteile:
df=df[df['Normteile']=='No']
#Filtern nach Status
df=df[df['Status'].isin(list('SU'))]
g = sns.scatterplot(
data=df,
x="Anzahl Bauteile", y="Preis",
hue='Normteile',
style="Normteile",
size="No. TC",
palette=['b','r'],
sizes=(10, 200),
)
g.set(xscale="log", yscale="log")
show()
Komponente; Text; Status; Preis; Währg; Cluster; Anzahl Bauteile; Normteile; No. feature; No. orders
123456; "Pumpe"; "X"; 2,50;"EUR"; "Hydraulik"; 52; 12, 2; 2500
234567; "Motor"; "X"; 2,50;"EUR"; "Antrieb"; 411; 172, 24; 2103
Wenn die Maus über einem Punkt steht, soll der Inhalt aus der Spalte Text angezeigt werden.
Vielen Dank im Voraus