Table of Contents
To create boxplots by group with matplotlib, you can use the boxplot() function, which takes a list of lists of values corresponding to each group, and draws a boxplot for each group. The boxplot() function allows you to customize the look and feel of the plot, such as the type of marker to use, the colors, and the size of the plot. You can also use the seaborn library to create boxplots by group with matplotlib, which offers more flexibility and customization options.
You can use the following syntax to create boxplots by group in Matplotlib:
import matplotlib as plt import seaborn as sns sns.boxplot(x='group', y='values', data=df)
The following examples show how to use this syntax to create boxplots by group for datasets in both long-form and wide-form.
Example 1: Boxplots by Group for Long-Form Data
The following code shows how to create boxplots by group for a pandas DataFrame in a long format:
import pandas as pd import numpy as np import matplotlib as plt import seaborn as sns #create long-form data df = pd.DataFrame({'points': [7, 8, 9, 12, 14, 5, 6, 6, 8, 11, 8, 9, 11, 13, 17], 'team': np.repeat(['A', 'B', 'C'], 5)}) #view data print(df) points team 0 7 A 1 8 A 2 9 A 3 12 A 4 14 A 5 5 B 6 6 B 7 6 B 8 8 B 9 11 B 10 8 C 11 9 C 12 11 C 13 13 C 14 17 C #create boxplot by group sns.boxplot(x='team', y='points', data=df)
Example 2: Boxplots by Group for Wide-Form Data
The following code shows how to create boxplots by group for a pandas DataFrame in a wide format:
import pandas as pd import numpy as np import matplotlib as plt import seaborn as sns #create wide-form data df = pd.DataFrame({'A': [7, 8, 9, 12, 14], 'B': [5, 6, 6, 8, 11], 'C': [8, 9, 11, 13, 17]}) #view data print(df) A B C 0 7 5 8 1 8 6 9 2 9 6 11 3 12 8 13 4 14 11 17 #create boxplot by group sns.boxplot(x='variable', y='value', data=pd.melt(df)).set( xlabel='team', ylabel='points')