数据可视化之箱线图(boxplot)

图的类型有很多,常见的有折线图(plot或kind='line')、散点图(scatter)、条线图(或叫柱状图 bar)、直方图(histplot)、箱线图(boxplot) 区域块图(areaplot)、饼状图(pie)等

 

另外画图的常用工具主要有两个即 matplotlib 和 seaborn 这两个通常也会结合使用。

个人感觉简单的画图可以用 matplotlib的入门api ,但我个人更喜欢用seaborn画图,一是因为它的api更统一,用起来顺手,同时它的作图功能和画图效果更强大。

 

这里主要介绍小 box即箱线图的理解,因为我开始总是对它理解的似懂非懂,不透彻,同时它在观察数据异常点方面非常直观。

形状如下:

数据可视化之箱线图(boxplot)

sns.catplot(x='species',y='sepal_length',kind='box',data=data)

具体的api我就不细说了,不是重点。主要讲概念:

首先,图中的五条关键线,从上到下依次为,上限值(也称上猫须)、上四分位(Q3),中位数(Q2)、下四分位(Q1)、下限值(也称下猫须)

Q1/Q2/Q3好理解,大概意思就是一组数值排序后,1/4位置的数、 1/2位置的数以及3/4位置的数

上下限这里稍微有点tricky

因为它是相对灵活变化的,我先定义一组概念:

IQR = Q3 -Q1

观察最大值: Q3+1.5*IQR 

观察最小值 :Q1-1.5*IQR

上猫须的值 = min(观察最大值,实际最大值)

下猫须的值 = max(观察最小值,实际最小值)

所以有时候,猫须是最大最小值,有时候是观察最大最小值。超出猫须的点,我们认为是异常点。