df = pd.read_csv('TSplot.csv', sep='\t', index_col=0)
grouped = df.groupby(['Cluster', 'Week']).agg({'Overload': ['min', 'mean',
    'max']}).unstack('Cluster')
axes = grouped.loc[:, ('Overload', 'mean')].plot(subplots=True)
palette = sns.color_palette()
index = 0
for ax in axes:
    ax.fill_between(grouped.index, grouped.loc[:, ('Overload', 'mean', 
        index + 1)], grouped.loc[:, ('Overload', 'max', index + 1)], alpha=
        0.2, color=palette[index])
ax.fill_between(grouped.index, grouped.loc[:, ('Overload', 'min', index + 1
    )], grouped.loc[:, ('Overload', 'mean', index + 1)], alpha=0.2, color=
    palette[index])
index += 1
Timeseries plot with min/max shading using Seaborn