Seite 1 von 1

Überlappung von timestamps auf der X- Achse

Verfasst: Dienstag 10. Januar 2023, 15:26
von okr_11845
hallo zusammen,

ich wollte "mal eben" ein Diagramm in Python erstellen. Das ganze ist ein Temperaturverlauf von 23 Uhr bis 23Uhr am Folgetag

ich mochte auf der X-Achse also die Zeit + Datum dargestellt haben.

Insgesamt habe ich 99 Messpunkte. Jetzt möchte ich aber nur 5 oder so ähnlich auf der X-achse als xtick dargestellt haben. Leider klappt das nicht so ganz. Hier mein Code und paar meiner Ergebnisse:

plt.figure(stx)
sns.scatterplot(data=df_final,x='timestamp',y='tmp',hue='zone',linewidth=0,size=2)
plt.xticks(rotation=90)
plt.gca().set_ylim(bottom=10)
plt.gca().set_ylim(top=25)


type(df_final)
Out[2]: pandas.core.frame.DataFrame


df_final.iloc[0]
Out[7]:
zone 7.0
timestamp 2023-01-08T22:45:00.000Z
humidity 0.69
tmp 17.46
Name: 0, dtype: object

Bild


Vielleicht weiß ja jemand weiter

Re: Überlappung von timestamps auf der X- Achse

Verfasst: Dienstag 10. Januar 2023, 16:21
von __deets__
Ich sehe da auch keinen Versuch, deine 5 Messpunkt explizit als xticks zu setzen. Das geht mit https://matplotlib.org/3.1.0/api/_as_ge ... ticks.html

Re: Überlappung von timestamps auf der X- Achse

Verfasst: Donnerstag 12. Januar 2023, 08:20
von okr_11845
plt.figure(stx)
sns.scatterplot(data=df_final,x='timestamp',y='tmp',hue='zone',linewidth=0,size=2)
plt.xticks(rotation=45)
plt.gca().set_ylim(bottom=0)
plt.gca().set_ylim(top=25)
plt.xticks([0,52,99])

Hat ein Stück weit geholfen. Ich kann jetzt einzelne Werte ansprechen. In dem Fall den ersten, letzten und 52.

Aber so richtig ist es nicht das was ich wollte. Ich dachte ich kann sagen ich möchte n ticks und dann bekomme ich n ticks gleichmäßig über die x Achse verteilt

Re: Überlappung von timestamps auf der X- Achse

Verfasst: Donnerstag 12. Januar 2023, 08:42
von __deets__
Ich habe das gefunden. Vielleicht gibt es noch eine andere Möglichkeit, musst du eben suchen. Aber damit lässt sich dein Problem schon lösen, du musst halt die Reduktion auf n Einträge programmieren.