一、箱线图介绍

假设一组数据有n个数,将它们从小到大排列,分为四等分。位于第25%(n+1)位置的数字是第一四分位数Q1。位于第50%(n+1)位置的数字是第二四分位数Q2,也是中位数。位于第75%(n+1)位置的数字是第三四分位数Q3。第三四分位数与第一四分位数的差值称为四分位距IQR,IQR=Q3-Q1。

在箱线图中,箱子的中间有一条线,代表了数据的中位数。箱子的上底是第三四分位数Q3,下底是第一四分位数Q1。所以箱体包含了50%的数据。箱体的上面有一条线,值为Q3+1.5IQR,称为上限。箱体的下面也有一条线,值为Q1-1.5IQR,称为下限。上限是非异常范围的最大值,下限是非异常范围的最小值,即正常范围是[Q1-1.5IQR,Q3+1.5IQR],也是[2Q1-1.5Q3,2Q3-1.5Q1]。超过该正常范围的就是异常值。

若25%(n+1),50%(n+1),75%(n+1)为整数,则取该位置的数值为四分位数。若其中之一为小数,则按照以下规则计算:

假设25%(n+1)=4.5,则Q1=0.25×第4项+0.75×第5项;

假设50%(n+1)=4.5,则Q2=0.5×第4项+0.5×第5项;

假设75%(n+1)=4.5,则Q3=0.75×第4项+0.25×第5项;

二、箱线图作用

箱线图在使用场景上最常见的是用于质量管理、人事测评、探索性数据分析等统计分析活动。

1. 识别异常值

异常值是指数据中远离其他大部分值的数据。

箱线图的大小是由数据升序排列后,中间的50%个数据决定的。因此前25%个数据和后25%个数据都没法影响箱线图,它们可以变得任意远,但不会扰动四分位值,所以异常值不会影响箱线图的形状。

2. 判断偏态

偏态是指与正态分布相对,非对称分布的偏斜状态。若平均数大于众数,则为右偏态(正偏态);若平均数小于众数,则为左偏态(负偏态)。

若数据集是标准正态分布,则中位数是位于Q1和Q3中间的,箱线图的中间线恰好位于上底和下底的正中央。若中位数偏向于下底,则数据集倾向于左偏态;若中位数偏向于上底,则数据集倾向于右偏态。

3. 评估数据集中程度

箱线图的宽度一定程度反映了数据的波动程度。因为箱线图包含中间50%的数据,若它越扁,则说明数据较为集中;若它越宽,则说明数据较为分散。

三、用python绘制箱线图

在线测试地址:http://kakazai.cn/index.php/Kaka/Python/query/name/boxplot

实例1:普通例子

#!/usr/bin/python3
#code-python(3.6)
import matplotlib.pyplot as plt
x = [1,2,3,5]                  #数据集
plt.boxplot(x)                  #垂直显示箱线图
plt.show()                      #显示该图

实例2:水平显示箱线图

#!/usr/bin/python3
#code-python(3.6)
import matplotlib.pyplot as plt
x = [1,2,3,5]                  #数据集
plt.boxplot(x,vert = False)            #水平显示箱线图
plt.show()                          #显示该图

实例3:并列画多个箱线图

#!/usr/bin/python3
#code-python(3.6)
import matplotlib.pyplot as plt
x = [1,2,3,5]                  #数据集
y = [4,3,7,9]
z= [2,4,8]
plt.boxplot((x,y,z),labels=('x','y','z'))
plt.show()

实例4:对数据框中每列画箱线图-pandas

#!/usr/bin/python3
#code-python(3.6)
import pandas as pd                 #导入pandas
import matplotlib.pyplot as plt
dt = pd.DataFrame({             #用字典去建立数据表,第一列的列名a,列值是[1,2,3,4,5];第二列的列名是b,列值是 [5, 6, 7, 8],以此类推'a': [1, 2, 3, 4],'b': [5, 6, 7, 8],'c': [9, 10, 11, 12],'d': [13, 14, 15, 16]
})
dt.boxplot()  #对数据框中每列画箱线图,pandas自己有处理的过程,很方便
plt.show()

实例5:对数据框中每列画箱线图-matplotlib

#!/usr/bin/python3
#code-python(3.6)
import pandas as pd                 #导入pandas
import matplotlib.pyplot as plt
dt = pd.DataFrame({             #用字典去建立数据表,第一列的列名a,列值是[1,2,3,4,5];第二列的列名是b,列值是 [5, 6, 7, 8],以此类推'a': [1, 2, 3, 4],'b': [5, 6, 7, 8],'c': [9, 10, 11, 12],'d': [13, 14, 15, 16]
})#用matplotlib来画出箱型图
plt.boxplot(x=dt.values,labels=dt.columns,whis=1.5) #columns列索引,values所有数值
plt.show()

【数据处理】python matplotlib 画箱线图;箱线图介绍;如何画箱线图相关推荐

  1. python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)...

    //2019.7.14晚 matplotlib七种常见图像输出编程大全 七种图形汇总输出如下: import numpy as np #导入数据结构nmupy模块 import matplotlib. ...

  2. python matplotlib plt 画图 将刻度 替换为文字/字符以及画断断续续的分段函数

    直接上代码 import numpy as npimport matplotlib.pyplot as plt from pylab import * import matplotlib; matpl ...

  3. python程序化 k线指定时间更新_Python之路 14 K线时间序列管理器

    在上一章中介绍了如何通过实时行情推送的Tick数据合成1分钟K线,并且如何通过1分钟K线来合成更大周期的K线.本章主要介绍如何将K线通过numpy缓存到Array,形成时间序列,并且同时生成一些技术指 ...

  4. 绘制箱线图的标签python_利用Python - Matplotlib 绘制箱线图

    1.箱线图介绍 第一步:计算上四分位数,中位数,下四分位数(计算公式略). 第二步:计算上四分位数和下四分位数之间的差值,四分位数差. 第三步:绘制箱线图的上下范围,上限为上四分位数,下限为下四分位数 ...

  5. ggplot2箱式图两两比较_R语言ggplot2箱线图绘图总结

    主要从如何看图.用图与作图三个方面来对箱线图进行理解和总结. 1.看图 箱线图概述图1 箱线图概述图2 如图所示,箱线图是将一组数据按照大小顺序排列后进行绘制的,包含6个数据节点,分别表示出数据的上边 ...

  6. ggplot2箱线图的美化之路: 箱线图到直方图加散点图再加误差线的美化之路

    如何把你的箱线图变成plus版? 箱线图到直方图加散点图再加误差线的美化之路 前言 数据准备 箱线图美化 01 一个平平无奇的箱线图 02 给箱线图加上误差线 03 加上散点的信息 04 去除网格线和 ...

  7. 箱线图的四分位怎么计算_Minitab图形 | 箱线图—3解释结果

    解释箱线图的主要结果 请完成以下步骤来解释箱线图. 关于本主题 步骤 1:评估主要特征 步骤 2:查找非正常或异常数据的指示符 步骤 3:评估和比较组 步骤 1:评估主要特征 检查分布的中心和散布.评 ...

  8. python matplotlib 绘制K线图(蜡烛图)

    python matplotlib 绘制K线图(蜡烛图) csv文件下载地址: 链接:https://pan.baidu.com/s/1EvDxEPuIS8zAseLRO1SDBQ 提取码:lb0t ...

  9. jmp怎么做合并的箱线图_如何在JMP中给箱线图(Box Plot)快速着色

    箱线图(Box-plot),是大家耳熟能详的一种显示数据分散情况的统计图.通过箱线图,我们可以很容易地比较几组数据的形状,识别数据中的异常值,锁定那些需要我们关注的异常值信息,发现解决问题的机会. 箱 ...

  10. 利用python—matplotlib绘制股票K线图

    利用python-matplotlib绘制股票K线图 成品展示: 用Python绘制股票K线图并不复杂,不过得做好一些准备工作例如相关库的安装,库的引入.日期格式的调整and表格转换 文章目录 利用p ...

最新文章

  1. Android webview 写入cookie的解决方法以及一些属性设置
  2. .net错误处理机制
  3. Sharding Sphere如何配置,把两表连接导致的笛卡尔集的效果去掉
  4. C++ const 关键字小结
  5. mysql 主从复制讲解_MySQL主从复制详解
  6. mplab x ide 中文使用手册_中文文档:MPLAB ICD 4在线调试器用户指南
  7. python捕捉线程错误_python 主线程捕获子线程异常
  8. 2013年1月5号第一次事故
  9. Android 查看內存使用
  10. OpenGL基础13:第一个正方体
  11. 比特大爆炸为啥老显示服务器满,《有可能是史上最长停服维护公告》
  12. Ubuntu 16.04的k8s安装配置
  13. 安装教程之JDK下载与安装_更新2022
  14. 计算机网络图标显示不出来,网络连接图标不见了的原因和解决方法【详细介绍】...
  15. 我win10下载红警-尤里复仇黑屏,能运行,下载这个好了
  16. NavMeshAgent参数及API
  17. html5在线聊天插件,纯js网页在线聊天对话插件(原创)
  18. 名人名言页面的效果图HTML,名人名言书签制作方法图片
  19. bzoj4094 luogu3097 最优挤奶
  20. 7z和winrar命令行压缩方法

热门文章

  1. 高通SDX12:USB3.0驱动初始化代码分析
  2. 微信小程序《难忘便签》开发记录
  3. js 中try catch用法
  4. 推进企业使用正版软件工作部际联席会议第四次全体会议(2010)
  5. OpenCV 形态学操作应用——提取水平与垂直线
  6. java读取excel表格数据
  7. 用HTML+CSS实现百度静态页面
  8. 7-45 航空公司 VIP 客户查询(25 分)
  9. 工银亚洲银联卡到手!
  10. flink 缓存问题处理过程,看我十八般武艺