Matplotlib:如何按组创建箱线图
您可以使用以下语法在 Matplotlib 中按组创建箱线图:
import matplotlib as plt import seaborn as sns sns. boxplot (x=' group ', y=' values ', data=df)
以下示例演示如何使用此语法为长格式和宽格式数据集创建组箱线图。
示例 1:长数据按组绘制箱线图
以下代码显示了如何为长格式的 pandas DataFrame 按组创建箱线图:
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)}) #viewdata print (df) team points 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)
示例 2:宽格式数据按组绘制的箱线图
以下代码显示了如何为宽格式的 pandas DataFrame 按组创建箱线图:
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]}) #viewdata print (df) ABC 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 ')