Seaborn 观察值的分布
在我们上一章所处理的分类散点图中,该方法在提供关于每个类别中的数值分布的信息方面变得有限。现在,让我们进一步看看什么可以帮助我们进行分类比较。
箱形图
箱 形图 是一种通过四分位数可视化数据分布的方便方法。
箱形图通常有从箱中延伸出来的垂直线,被称为晶须。这些须线表示上下四分位数以外的变化,因此箱形图也被称为 箱须 图和 箱须 图。数据中的任何离群值都被绘制成单独的点。
例子
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()
输出
博图的四分位数和晶须值显示在小提琴内。由于小提琴图使用的是KDE,小提琴的较宽部分表示较高的密度,较窄的区域表示相对较低的密度。Boxplot中的四分位数范围和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()
输出