How do i plot facet plots in pandas

10,708

You need to unstack so type are columns, and then use the subplots parameter:

test.groupby(['week', 'type', 
              'type2']).agg('sum').unstack(1).plot(kind='bar', subplots=True)

Resulting plot

Share:
10,708

Related videos on Youtube

collarblind
Author by

collarblind

Updated on July 13, 2022

Comments

  • collarblind
    collarblind almost 2 years

    This is what I have right now:

    np.random.seed(1234)
    test = pd.DataFrame({'week': [1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2],
                         'score': np.random.uniform(0, 1, 12),
                         'type': [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1],
                         'type2': [3, 3, 4, 4, 5, 5, 3, 3, 4, 4, 5, 5]})
    
    test.groupby(['week', 'type', 'type2']).agg('sum').unstack().plot(kind='bar')
    

    enter image description here

    How do I plot facet based on 'type'? I want two different plots, one for type = 1 and another type = 2.