У меня есть почасовые данные временных рядов за год, и sh, чтобы построить среднечасовые измерения для каждого дня недели. Я запустил следующий код, и мои данные в следующем формате (я ранее создал столбцы для дней недели).
df = df.groupby([df['date_UTC'].dt.hour, df['w_day']]).pm2_5_ugm3.mean().reset_index().dropna()
date_UTC w_day pm2_5_ugm3
0 0 Friday 11.868802
1 0 Monday 12.741524
2 0 Saturday 13.346273
3 0 Sunday 13.093804
4 0 Thursday 14.525096
... ... ... ...
163 23 Saturday 12.836788
164 23 Sunday 12.712683
165 23 Thursday 12.046935
166 23 Tuesday 12.043133
167 23 Wednesday 14.164027
В конечном итоге мне нужен график, похожий на приведенный ниже, но я не уверен как это сделать, используя seaborn / matplotlib.
ОБНОВЛЕНИЕ:
Я использовал предложение @Arnold Vialfont, которое в основном дает мне результаты, которые я ищу, но facetplot кажется, не позволяет мне строить легенду, когда я представляю оттенок. Затем я использовал factorplot, но не похоже, что этот график может создать линейный график, что мне и нужно. Есть ли способ использовать факторплот и дать легенду оттенок?
col_order=["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
sns.set_style("white")
ax = sns.FacetGrid(df, col="w_day", col_wrap=7, height=6, col_order=col_order, hue ='Zone')
ax.map(sns.lineplot, "date_UTC", "pm2_5_ugm3")
Оттенок не создает легенду
Здесь, используя factorplot, у меня есть легенда, но я не могу создать линейный сюжет по желанию.
ax = sns.catplot(x="date_UTC", y="pm2_5_ugm3", col="w_day", hue = 'Zone',
data=df, ci=None, aspect=.6)