Färben von Datenpunkten je nach Monat [Duplikat]
Posted: 17 Jan 2025, 09:35
Ich habe einen DataFrame mit einer Datumsspalte und einer Wertespalte. Der Datumsbereich reicht von 2015 bis 2024 und die Werte haben eine Auflösung von einer Stunde. Dadurch ergeben sich sehr viele Werte.
Meine Idee ist nun, die Daten in einem Diagramm (Streuung) darzustellen und gleichzeitig die einzelnen Datenpunkte je nach Monat einzufärben. Beispielsweise sind alle Januar-Werte (2015, 2016 ... 2024) rot eingefärbt, alle Februar-Werte (2015, 2016 ... 2024) sind gelb eingefärbt usw.
Ich habe bereits Folgendes versucht:
Dies führt zu einem Fehler.
Hat jemand eine Idee, wie ich das beheben könnte? Vielen Dank im Voraus!
Meine Idee ist nun, die Daten in einem Diagramm (Streuung) darzustellen und gleichzeitig die einzelnen Datenpunkte je nach Monat einzufärben. Beispielsweise sind alle Januar-Werte (2015, 2016 ... 2024) rot eingefärbt, alle Februar-Werte (2015, 2016 ... 2024) sind gelb eingefärbt usw.
Ich habe bereits Folgendes versucht:
Code: Select all
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime as dt
start_date = '2014-01-01'
end_date = '2016-02-01'
data_range = pd.date_range(start=start_date, end=end_date, freq ='H')
values = np.random.randint(-100,101, size = len(data_range))
df = pd.DataFrame({'date': data_range,'Preis [€/MWh]': values})
df['month'] = df['date'].dt.month
df['month_name'] = df['date'].dt.month_name(locale='German')
colors = {'Januar': 'red','Februar': 'mediumvioletred', 'März': 'darkviolet', 'April': 'blueviolet','Mai': 'blue','Juni': 'cadeblue', 'Juli': 'green', 'August':'greenyellow', 'September': 'yellow', 'Oktober': 'gold', 'November': 'orange', 'Dezember': 'coral'}
df['colors'] = df['month_name'].map(colors)
plt.scatter(df['date'], df['Preis [€/MWh]'], color = df['colors'])
Hat jemand eine Idee, wie ich das beheben könnte? Vielen Dank im Voraus!