Matplotlib Scatter, Berechnung der Marker-Grösse

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
superschlau
User
Beiträge: 26
Registriert: Mittwoch 4. April 2018, 09:12

Salü zäme
Ich habe ein Scatter-Diagramm erstellt, indem die Marker-Grösse durch eine Werte-Reihe (s-Parameter) bestimmt wird. Als Marker verwende ich "Diamond".
(Weiss leider nicht, wie ich die Grafik als Bild hier einblenden könnte...)

Code: Alles auswählen

sc = ax.scatter(dataframe['MW Einkommen'], dataframe['FussKoerper'], s=dataframe['Steuerpflichtige'] / 10, 
                alpha=0.5, marker=r'D', cmap=plt.get_cmap('jet'), c=dataframe['Steuerpflichtige'] / 10,
                label='Steuerplichtige')

style = dict(size=10, color='black', alpha=0.7)               
for x, y, s, g in zip(dataframe['MW Einkommen'], dataframe['FussKoerper'], \
                      dataframe['Steuerpflichtige'], dataframe['Gemeinde']):
    dTextH = x + ????
    dTextV = y - ????
    ax.text(dTextH, dTextV, g, ha='left', zorder=3, **style)
Nun möchte ich bündig rechts des Markers einen Text schreiben (Legende des Punktes). Dies mache ich mit der matplotlib-Funktion "plt.text(x, y, text)".
Wie kann ich die Koordinaten von x und y berechnen, damit der Text mittig rechts des Markers positioniert wird?
In der Dokumentation finde ich "The marker size in points**2. Default is rcParams['lines.markersize'] ** 2.", kann damit aber nicht viel anfangen....

Wer kann mir hier zeigen, wie ich zu diesen Koordinaten für die Positionierung der Text komme?
Danke und Gruss, Jakob
Antworten