Seaborn: Annotations im Scatterplot

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
MacGruber
User
Beiträge: 63
Registriert: Sonntag 28. Mai 2017, 13:04

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:

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()
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
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Laut https://seaborn.pydata.org/generated/se ... rplot.html kannst du doch weitere Argumente, bekannt und beliebt aus matplotlib, einfach hinten anhaengen, und die werden weiter gereicht. Also kannst du deine matplotlib-Doku doch benutzen.
Antworten