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
。
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