Моя идея теперь состоит в том, чтобы отобразить данные в виде диаграммы (разброс) и в то же время раскрасить отдельные точки данных в зависимости от месяцев. Например, все значения января (2015, 2016... 2024) окрашены в красный цвет, все значения февраля (2015, 2016... 2024) окрашены в желтый цвет и т.д.
Я уже пробовал следующее:
Код: Выделить всё
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'])
Код: Выделить всё
ValueError: 'color' kwarg must be a color or sequence of color specs. For a sequence of values to be color-mapped, use the 'c' argument instead.
Подробнее здесь: https://stackoverflow.com/questions/793 ... -the-month
Мобильная версия