Seaborn - 观测分布

在我们在前一章中讨论的分类散点图中,该方法在它可以提供的关于每个类别中的值分布的信息中受到限制.现在,进一步,让我们看看什么可以促进我们与类别进行比较.

Box Plots

Boxplot 是一种通过四分位数可视化数据分布的便捷方式.

箱形图通常有从框中延伸的垂直线,称为晶须.这些晶须表示上下四分位数之外的可变性,因此箱形图也称为盒须式图和盒须式图.数据中的任何异常值都被绘制为单个点.

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()

输出

压缩

图中的点表示异常值.

小提琴图

小提琴图是箱形图与核密度估计的组合.因此,这些图更容易分析和理解数据的分布.

让我们使用提示数据集来了解小提琴图.此数据集包含与餐厅客户提供的提示相关的信息.

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill", data=df)
plt.show()

输出

Stages

小提琴内部显示了来自箱线图的四分位数和胡须值.由于小提琴曲线使用KDE,小提琴的较宽部分表示较高的密度,而较窄的区域表示相对较低的密度.箱形图中的四分位数范围和kde中的较高密度部分属于每类小提琴图的相同区域.

上图显示了一周中四天的total_bill分布.但是,除此之外,如果我们想看看分布在性别方面的表现如何,让我们在下面的例子中探讨它.

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill",hue = 'sex', data = df)
plt.show()

输出

差异

现在我们可以清楚地看到男女之间的消费行为.我们可以很容易地说,通过观察情节,男性比女性赚的钱更多.

而且,如果色调变量只有两个类,我们可以通过将每个小提琴分成两部分来美化情节.在给定的一天,两个而不是两个小提琴.小提琴的任何一部分都是指色调变量中的每个类.

示例

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y="total_bill",hue = 'sex', data = df)
plt.show()

输出

多级