import seaborn as sns # Defining the dataframe df_plot = df[['hour', 'day_str', 'PJME_MW']].dropna().groupby(['hour', 'day_str']).mean()[['PJME_MW']].reset_index() # Plot using Seaborn plt.figure(figsize=(10,8)) sns.lineplot(data = df_plot, x='hour', y='PJME_MW', hue='day_str', legend=True) plt.locator_params(axis='x', nbins=24) plt.title("Seasonal Plot - Daily Consumption", fontsize=20) plt.ylabel('Consumption [MW]') plt.xlabel('Hour') plt.legend()