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!