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')
How do I plot facet based on 'type'? I want two different plots, one for type = 1 and another type = 2.
Facet plots, also known as trellis plots or small multiples, are figures made up of multiple subplots which have the same set of axes, where each subplot shows a subset of the data.
Pandas has a tight integration with Matplotlib. You can plot data directly from your DataFrame using the plot() method. To plot multiple data columns in single frame we simply have to pass the list of columns to the y argument of the plot function.
To plot a specific column, use the selection method of the subset data tutorial in combination with the plot() method. Hence, the plot() method works on both Series and DataFrame .
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)
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