原理
1.箱线图介绍
箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。
中位数:一组数据按顺序排列,从小至大第50%位置的数值
上四分位数(Q1):一组数据按顺序排列,从小至大第25%位置的数值
下四分位数(Q3):一组数据按顺序排列,从小至大第75%位置的数值
四分位数和下四分位数之间的差值,即四分位数差(IQR,interquartile range)Q3-Q1
上限值:Q1-1.5×IQR(大于上四分位数1.5倍四分位数差的值)
下限值:Q3+1.5×IQR(小于下四分位数1.5倍四分位数差的值)
离群值(异常值):一组数据中超过上下限的真实值
这两条线段为异常值截断点,称其为内限
在Q3+3IQR和Q1-3IQR处画两条线段,称其为外限。
极端异常值,即超出四分位数差3倍距离的异常值,用实心点表示;
温和异常值,即处于1.5倍-3倍四分位数差之间的异常值,用空心点表示。
2.代码
boxplot函数的参数解读
plt.boxplot(
x, // 指定要绘制箱线图的数据
notch=None, // 是否是凹口的形式展现箱线图,默认非凹口:False—非凹口—更好看
sym=None, // 指定异常点的形状,默认为+号显示,没有懂什么意思???
vert=None, // 是否需要将箱线图垂直摆放,默认垂直摆放,Ture—垂直摆放
whis=None, // 指定上下须与上下四分位的距离,默认为1.5*IQR, 指定其他距离???
positions=None, // 指定箱线图的位置,默认为[0,1,2…];
widths=None, // 指定(中间箱子)箱线图的宽度,默认为0.5;
patch_artist=None, // 是否填充箱体的颜色,True—填充
meanline=None, // 是否用线的形式表示均值,默认用点来表示:True—虚线,False—三角点
showmeans=None, // 是否显示均值,默认不显示:True—显示,配合meanline使用
showcaps=None, // 是否显示箱线图顶端和末端的两条线,默认显示:False—不显示
showbox=None, // 是否显示箱线图的箱体,默认显示:True—显示
showfliers=None, // 是否显示异常值,默认显示 :False—不显示
boxprops=None, // 设置箱体的属性,如边框色,填充色等配合patch_artist使用
labels=None, // 为箱线图添加标签,类似于图例的作用
flierprops=None, // 设置异常值的属性,如异常点的形状、大小、填充色等;
medianprops=None, // 设置中位数的属性,如线的类型、粗细等;
meanprops=None, // 设置均值的属性,如点的大小、颜色等;
capprops=None, // 设置箱线图顶端和末端线条的属性,如颜色、粗细等;
whiskerprops=None // 设置须的属性,如颜色、粗细、线的类型等
)
示例
def programmer_1(file_name):
catering_sale = file_name
data = pd.read_excel(catering_sale, index_col=u'日期')
plt.figure(figsize=(15,5)) // 变量过多,设置大小
# 画箱线图
p = data.boxplot(return_type='dict')
programmer_1(r'D:\XXX\Python\python_data_analysis_and_mining_action-master\chapter3\data\catering_sale_all.xls')