test_data = [
{'week_label' : 'W1', 'user' : 'user1', 'evt' : 'e1', 'dt' : 100},
{'week_label' : 'W1', 'user' : 'user2', 'evt' : 'e2', 'dt' : 80},
{'week_label' : 'W1', 'user' : 'user3', 'evt' : 'e3', 'dt' : 10},
{'week_label' : 'W1', 'user' : 'user4', 'evt' : 'e4', 'dt' : 102},
{'week_label' : 'W1', 'user' : 'user5', 'evt' : 'e5', 'dt' : 78},
{'week_label' : 'W1', 'user' : 'user6', 'evt' : 'e6', 'dt' : 999},
{'week_label' : 'W2', 'user' : 'user7', 'evt' : 'e7', 'dt' : 23},
{'week_label' : 'W2', 'user' : 'user1', 'evt' : 'e1', 'dt' : 100},
{'week_label' : 'W2', 'user' : 'user2', 'evt' : 'e2', 'dt' : 80},
{'week_label' : 'W2', 'user' : 'user3', 'evt' : 'e3', 'dt' : 10},
{'week_label' : 'W2', 'user' : 'user4', 'evt' : 'e4', 'dt' : 102},
{'week_label' : 'W2', 'user' : 'user5', 'evt' : 'e5', 'dt' : 78},
{'week_label' : 'W3', 'user' : 'user7', 'evt' : 'e7', 'dt' : 23},
{'week_label' : 'W3', 'user' : 'user1', 'evt' : 'e1', 'dt' : 100},
{'week_label' : 'W3', 'user' : 'user2', 'evt' : 'e2', 'dt' : 80},
{'week_label' : 'W4', 'user' : 'user3', 'evt' : 'e3', 'dt' : 10},
{'week_label' : 'W4', 'user' : 'user4', 'evt' : 'e4', 'dt' : 102},
{'week_label' : 'W4', 'user' : 'user5', 'evt' : 'e5', 'dt' : 78}
]
test_df = pd.DataFrame(test_data)
test_df_an=test_df.groupby('week_label').agg(['count']).reset_index()
print('test_df_an agg \n',test_df_an)
//Below gives bar chart
test_df_an.plot(x='week_label', y='evt',kind="bar")
//Below gives a stacked version of it
test_df_an[['evt','dt','user']].plot(kind='bar', stacked=True)
References
https://stackoverflow.com/questions/50594613/how-to-plot-aggregated-by-date-pandas-dataframe
https://stackoverflow.com/questions/23415500/pandas-plotting-a-stacked-bar-chart