Seaborn 箱线图

Manav Narula 2021年10月2日 2021年7月16日
Seaborn 箱线图

可以使用 Python 中的 seaborn 模块创建不同的统计图表。我们可以使用 seaborn.boxplot() 函数创建一个箱线图。

分析师和统计学家经常使用箱线图来表示不同级别或类别的数据。箱线图可以传达许多统计值。下图说明了这一点。

箱线图信息

boxplot() 函数可以有效地绘制数据集的分类值,也可以处理单个列表或数组向量。它与小提琴图非常相似。

在下面的例子中,我们绘制了一个单一分布的箱线图,以了解最终的数字。

import random 
import numpy as np
import seaborn as sns

n = random.sample(range(0,50),30) 
arr = np.array(n)
sns.boxplot(n)

单变量箱线图

我们还可以在箱线图上绘制散点图。它将让你更好地了解绘制的分布和最终数字。

我们将使用 seaborn.stripplot() 函数来绘制散点图。例如,

import random 
import numpy as np
import seaborn as sns

n = random.sample(range(0,50),30) 
arr = np.array(n)
sns.boxplot(n)
sns.stripplot(n, color = 'red')

箱线图上的带状图

箱线图可以有效地用于绘制分类变量并使它们的比较变得简单。在以下代码中,我们将绘制多个类别的箱线图。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
                   "Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
                   "Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
                   "Product": ['A','A','A','A','B','B','B','B',
                              'A','A','A','A','B','B','B','B']})

sns.boxplot(data = df, y = "Price", x = "Quantity")

分类数据的箱线图

注意在上面的数据集中,我们可以轻松地比较不同数量的价格。我们还可以添加 hue 参数并将其值设置为 Product 变量。这样,我们将能够为不同的产品绘制不同的框。

我们可以使用 matplotlib.pyplot.ylim()matplotlib.pyplot.xlim() 来设置图的 x 和 y 轴的限制。

我们可以使用更多参数来调整最终图。linewidth 参数可用于增加箱线图边界的厚度。我们可以使用 palette 参数为不同类别自定义颜色。可以使用 orient 参数更改方向。还有更多这样的参数可以使用。

请参考下面的代码以了解其中一些参数的应用。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
                   "Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
                   "Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
                   "Product": ['A','A','A','A','B','B','B','B',
                              'A','A','A','A','B','B','B','B']})

sns.boxplot(data = df, y = "Price", x = "Quantity", hue = 'Product', linewidth = 2.5 , palette = 'Set2')

带参数的多列的箱线图

我们还可以使用 catplot() 函数来创建箱线图。catplot() 函数非常适合绘制分类值。要使用此函数创建箱线图,我们需要将 catplot() 函数中的 kind 参数的值指定为 box

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn