I'm trying to create a stacked bar chart in pandas using time series data:
DATE TYPE VOL
0 2010-01-01 Heavy 932.612903
1 2010-01-01 Light 370.612903
2 2010-01-01 Medium 569.451613
3 2010-02-01 Heavy 1068.250000
4 2010-02-01 Light 341.535714
5 2010-02-01 Medium 484.250000
6 2010-03-01 Heavy 1090.903226
7 2010-03-01 Light 314.419355
X = date, Y = vol, stacks = type
any help greatly appreciated, thankyou.
Let's use pandas plot:
df = df.set_index('DATE')
#moved the 'DATE' column into the index
df.index = pd.to_datetime(df.index)
#convert the string 'DATE' column to a datetime dtype
df.set_index('TYPE',append=True)['VOL'].unstack().plot.bar(stacked=True,figsize=(10,8))
#Moved 'TYPE' into the index with 'DATE' then unstacked 'TYPE' to create a dataframe that has 'DATE' as row labels and 'TYPE' as column labels. And, then used pandas dataframe plot to chart that frame as a vertical bar chart with stacked=True.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With