Seaborn:如何在箱线图上显示平均值


您可以使用showmeans参数来显示使用 seaborn 创建的箱线图中的平均值:

 sns. boxplot (data=df, x=' x_var ', y=' y_var ', showmeans= True )

以下示例展示了如何在实践中使用此语法。

示例:在 Seaborn Boxplot 上显示平均值

假设我们有以下 pandas DataFrame,显示来自三个不同球队的篮球运动员的得分:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B',
                            'B', 'B', 'C', 'C', 'C', 'C', 'C'],
                   ' points ': [3, 4, 6, 8, 9, 10, 13, 16, 18, 20, 8, 9, 12, 13, 15]})

#view head of DataFrame
print ( df.head ())

  team points
0 to 3
1 to 4
2 to 6
3 to 8
4 to 9

我们可以使用以下代码创建箱线图来可视化每个团队的得分分布:

 import seaborn as sns

#create boxplot to visualize distribution points by team
sns. boxplot (data=df, x=' team ', y=' points ')

默认情况下,箱线图使用每个箱线图内的水平线显示中值。

要显示每个箱线图的平均值,您必须指定showmeans=True

 import seaborn as sns

#create boxplot to visualize points distribution by team (and display mean values)
sns. boxplot (data=df, x=' team ', y=' points ', showmeans= True ) 

默认情况下,seaborn 使用绿色三角形来显示每个箱线图的平均值。

要自定义平均值的外观,请随意使用Meanprops参数:

 import seaborn as sns

#create boxplot to visualize distribution points by team
sns. boxplot (data=df, x=' team ', y=' points ', showmeans= True ,
            meanprops={' marker ':' o ',
                       ' markerfacecolor ': ' white ', 
                       ' markeredgecolor ': ' black ',
                       ' markersize ': ' 8 '}) 

平均值现在显示为带有黑色轮廓的白色圆圈。

请随意使用Meanprops参数值来更改箱线图中平均值的外观。

注意:您可以 在此处找到 seaborn boxplot()函数的完整文档。

其他资源

以下教程解释了如何在seaborn中执行其他常见功能:

如何在 Seaborn Boxplot 中控制颜色
如何从 Seaborn 箱线图中删除异常值
如何在 Seaborn 中对 x 轴上的箱线图进行排序

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注