箱线图 订阅
箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常见于品质管理。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较。箱线图的绘制方法是:先找出一组数据的上边缘、下边缘、中位数和两个四分位数;然后, 连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间。 [1] 展开全文
箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常见于品质管理。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较。箱线图的绘制方法是:先找出一组数据的上边缘、下边缘、中位数和两个四分位数;然后, 连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间。 [1]
信息
用    作
显示一组数据分散情况资料
类    型
统计图
形    状
形状如箱子
中文名
箱形图
外文名
Box-plot
又    称
盒须图、盒式图、箱线图
箱形图箱型图概念
箱形图(英文:Box plot),又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因型状如箱子而得名。在各种领域也经常被使用,常见于品质管理。不过作法相对较繁琐。箱形图于1977年由美国著名统计学家约翰·图基(John Tukey)发明。它能显示出一组数据的最大值、最小值、中位数、及上下四分位数。
收起全文
精华内容
下载资源
问答
  • 箱线图

    万次阅读 多人点赞 2019-06-28 11:16:58
    以前对箱线图一直一知半解,这次在网上找到一篇不错的文章。 首先,箱形图更多用于多组数据的比较,相对直方图不仅节省了空间,还可以展示出许多直方图不能展示的信息。单组数据则更适合采用直方图,使可视化效果...

    以前对箱线图一直一知半解,这次在网上找到一篇不错的文章。

    首先,箱形图更多用于多组数据的比较,相对直方图不仅节省了空间,还可以展示出许多直方图不能展示的信息。单组数据则更适合采用直方图,使可视化效果更加直观。

    文章来源于“镝次元”公众号,在此向作者表示感谢。

    不会数学统计没关系——5分钟教你轻松掌握箱线图 | 图表家族#24

    2018-01-22 19:00

    编辑:王艺 版面:胡曼君

    箱线图也称箱须图、箱形图、盒图,用于反映一组或多组连续型定量数据分布的中心位置和散布范围。箱形图包含数学统计量,不仅能够分析不同类别数据各层次水平差异,还能揭示数据间离散程度、异常值、分布差异等等。

    小小箱子,大大信息量

    箱线图(Box plot)也称箱须图(Box-whisker Plot)、箱线图、盒图,可以用来反映一组或多组连续型定量数据分布的中心位置和散布范围,因形状如箱子而得名。1977年,美国著名数学家John W. Tukey首先在他的著作《Exploratory Data Analysis》中介绍了箱形图。

    图片来源:CHAPTER 1. EXPLORATORY DATA ANALYSIS

    注:

    连续型数据:在一定区间内可以任意取值的变量叫连续变量,其数值是连续不断的。例如,生产零件的规格尺寸,人体测量的身高、体重等,其数值只能用测量或计量的方法取得。可视化这类数据的图表主要有箱形图和直方图。

    离散型数据:数值只能用自然数或整数单位计算的则为离散变量。例如,企业个数,职工人数,设备台数等,只能按计量单位数计数,数值一般用计数方法取得。大多数图表可视化的都是这类数据,比如柱状图、折线图等。

    在箱线图中,箱子的中间有一条线,代表了数据的中位数。箱子的上下底,分别是数据的上四分位数(Q3)和下四分位数(Q1),这意味着箱体包含了50%的数据。因此,箱子的高度在一定程度上反映了数据的波动程度。上下边缘则代表了该组数据的最大值和最小值。有时候箱子外部会有一些点,可以理解为数据中的“异常值”。

    由于箱线图不像柱状图、折线图那样简单常见,许多人都对它敬而远之。但只要我们搞清楚了以下几个统计学的基本概念,箱线图也可以变得“平易近人”。

    01

    四分位数

    一组数据按照从小到大顺序排列后,把该组数据四等分的数,称为四分位数。第一四分位数 (Q1)、第二四分位数 (Q2,也叫“中位数”)和第三四分位数 (Q3)分别等于该样本中所有数值由小到大排列后第25%、第50%和第75%的数字。第三四分位数与第一四分位数的差距又称四分位距(interquartile range, IQR)。

    02

    偏态

    与正态分布相对,指的是非对称分布的偏斜状态。在统计学上,众数和平均数之差可作为分配偏态的指标之一:如平均数大于众数,称为正偏态(或右偏态);相反,则称为负偏态(或左偏态)。

    魔法箱子,会用才是王道

    箱线图包含的元素虽然有点复杂,但也正因为如此,它拥有许多独特的功能:

    01

    直观明了地识别数据批中的异常值

    箱形图可以用来观察数据整体的分布情况,利用中位数,25/%分位数,75/%分位数,上边界,下边界等统计量来来描述数据的整体分布情况。通过计算这些统计量,生成一个箱体图,箱体包含了大部分的正常数据,而在箱体上边界和下边界之外的,就是异常数据。

    02

    判断数据的偏态和尾重

    对于标准正态分布的大样本,中位数位于上下四分位数的中央,箱形图的方盒关于中位线对称。中位数越偏离上下四分位数的中心位置,分布偏态性越强。异常值集中在较大值一侧,则分布呈现右偏态;异常值集中在较小值一侧,则分布呈现左偏态。

    03

    比较多批数据的形状

    箱子的上下限,分别是数据的上四分位数和下四分位数。这意味着箱子包含了50%的数据。因此,箱子的宽度在一定程度上反映了数据的波动程度。箱体越扁说明数据越集中,端线(也就是“须”)越短也说明数据集中。

    凭借着这些“独门绝技”,箱线图在使用场景上也很不一般,最常见的是用于质量管理、人事测评、探索性数据分析等统计分析活动。

    案例1:职员薪酬分布

    下图是不同地区数据分析师的薪酬统计情况。

    图中的红线显然是各个城市中游水平的数据分析师能够获得的薪资标准,上边的蓝线区间为中上游,下边的蓝线区间为中下游,以此类推。简而言之,样本人群被四等分了。

    上海、北京、深圳的数据分析师,薪资范围接近,但是中上游水平的人,北京地区能获得更高的薪资,因为中位数(Q2)的位置更高。西安、长沙、天津则不利于数据分析师的发展。杭州的水平接近北上深,但是薪资上限受到一定限制。

    案例2:学生成绩分布

    分析不同学年、不同科目的学生成绩也是箱线图的常见应用场景。下图中我们可以看到学生的英语成绩相对其它科目普遍较好,而数学则大部分都出于80分以下。

    有时候我们会发现箱形图的某一部分仿佛被隐藏了,比如下图的第一个箱子。

    除此之外还有一些极端情况,箱子被压得很扁,甚至只剩下一条线,同时还存在着很多异常值。这些情况的出现,有两个常见的原因。第一,样本数据中,存在特别大或者特别小的异常值,这种离群的表现,导致箱子整体被压缩,反而凸显出来这些异常;第二,样本数据特别少,因此箱体受单个数据的影响被放大了。

    案例3:运动员水平分析

    下面是一个箱线图演变过来的案例。从图中我们可以看到,在速度、敏捷、爆发、力量和身体指标五个方面近十年NBA选秀体侧数据的最值、正常水平(盒身)和中值(中位数),其中黄色标注的是周琦的个人数据。

    综合来看,周琦的体测数据基本达到了NBA中锋的正常水准。在绕桩变向和禁区折返跑这两项敏捷度测试中,周琦表现不俗,有着超越常规NBA中锋的水准。中锋最重要的垂直纵跳一项,周琦也超出了联盟中锋的正常范围。身体素质上,周琦的身高臂展以及体脂水平都可以算得上顶尖。然而从体重这一项我们可以推测,周琦最大的问题在于他的力量。他必须尽快增重,增强自己的身体对抗能力以适应NBA的对抗强度。

    案例4:科学研究分析

    箱形图最初的诞生无疑是为科研工作量身打造的,在诸多论文中都可以看到箱形图的使用。下图显示了世界各地地表水中29种不同个人护理产品的浓度分布情况。针对所测量的个人护理产品,中位数浓度通常在0.01和0.1 μg / L之间。

    图片来源:著名科学传播网站AtlasfScience

    箱子虽好,别傻傻分不清楚

    1. 误差线

    一些柱状图中作者会添加误差线来给数值增加误差范围,看起来和箱线图有点相似。

    2. K线图

    K 线图,原名蜡烛图,又称阴阳图、棒线、红黑线或蜡烛线,常用于展示股票交易数据。虽然和箱形图长得有点像,但二者几乎是完全不同的图表。具体含义如下:

    值得注意的是,箱形图更多用于多组数据的比较,相对直方图不仅节省了空间,还可以展示出许多直方图不能展示的信息。单组数据则更适合采用直方图,使可视化效果更加直观。

    更多镝数使用问题请参看以下文章,如果仍有无法解决的问题,请发送邮件至public@dydata.io或者直接在后台留言。

    参考来源

    https://atlasofscience.org/active-ingredients-in-personal-care-products-detected-throughout-the-environment/

    https://www.bloomberg.com/news/articles/2014-07-14/whites-account-for-the-entire-jump-in-heroin-deaths

    https://antv.alipay.com/zh-cn/vis/chart/k-chart.html

    https://mp.weixin.qq.com/s/watt4veiF3NVw2cBpF3f8w

    https://pdfs.semanticscholar.org/2f40/fd06bc9fd00a27437e14ed171e96e4fd9326.pdf

    http://edu.dataguru.cn/forum.php?mod=viewthread&tid=270177

    https://mp.weixin.qq.com/s/zmE299d5Qhb6_gAWm_8YKA

    展开全文
  • boxplotx(data) 无需统计包即可提供箱线图。 数据可以是向量、矩阵或向量元胞数组。 NaN 可以在数据中,向量可以具有不同的长度。 选项允许设置箱线图的位置、宽度和颜色。 坚持下去,然后可以添加额外的箱线图。 ...
  • 箱线图绘制,利用dataframe简易绘制出箱线图
  • 什么是箱线图? 我们画箱线图的目的其实是去查看数据分布的离散程度。 上图将箱线图的重要部分都标出来了。对于箱线图来说,图中会有的要素有: 最大值 Q3(大于75%数据的位点)中位数 Q1(大于25%数据的位点...

    什么是箱线图?

    我们画箱线图的目的其实是去查看数据分布的离散程度。

    上图将箱线图的重要部分都标出来了。对于箱线图来说,图中会有的要素有:

    • 最大值
    • Q3(大于75%数据的位点)
    • 中位数
    • Q1(大于25%数据的位点)
    • 最小值

    Q3与Q1之间的部分叫做IQR(Interquartile Range, 四分位数)。通过查看与比较不同数据的箱线图,我们就可以了解数据分布于离散程度。

    使用Matplotlib作图

    import matplotlib.mlab as mlab
    import matplotlib.pyplot as plt
    
    in_file = "Data7602DescendingYearOrder.csv"
    data = pd.read_csv(in_file, engine='python')
    
    ec_2000 = data[data['year']==2000]['ec_count']
    ec_2001 = data[data['year']==2001]['ec_count']
    
    _ = plt.boxplot([ec_2000[ec_2000<100], ec_2001[ec_2001<100]])
    plt.show()

    运行结果: 

    代码取出了数据中的两列,并画出箱线图,可以看到两列数据的中位数差不多,但是右边那一列数据的离散程度更大。其中的黑色方块是离群点。

    Reference

    [1] http://estat.ncku.edu.tw/nsc/flash/topic/graph_stat/base/BoxPlot.html

    展开全文
  • 三种方式绘制箱线图#第一种:直接使用自带的箱线图函数import pandas as pdimport matplotlib.pyplot as pltdata=pd.read_excel("finaldata.xlsx")plt.rcParams["font.sans-serif"]=["SimHei"]plt.rcParams["axes....

    三种方式绘制箱线图

    #第一种:直接使用自带的箱线图函数

    import pandas as pd

    import matplotlib.pyplot as plt

    data=pd.read_excel("finaldata.xlsx")

    plt.rcParams["font.sans-serif"]=["SimHei"]

    plt.rcParams["axes.unicode_minus"]=False

    print(data)

    data[["p1","result1"]].boxplot(by="result1")

    plt.xlabel("话题种类")

    plt.ylabel("点赞数大小")

    plt.title("话题-点赞数箱式图")

    plt.show()

    #第二种seaborn绘制箱线图

    import warnings

    warnings.filterwarnings("ignore")#不显示warning

    import matplotlib.pyplot as plt

    import numpy as np

    import pandas as pd

    import seaborn as sns

    #plt.style.use("ggplot")#美化图片

    #plt.figure(figsize=(15,8))

    sns.boxplot(data.p1,data.result1,orient="h",width=0.5,whis=0.5,showmeans = True)

    plt.show()

    #第三种matplotlib绘制箱线图

    def group():

    df=[]

    group=data.result1.unique()

    for x in group:

    a=data.p1[data.result1==x]

    df.append(a)

    return df

    box1,box2=group()[0],group()[1]

    plt.figure(figsize=(15,7))

    plt.boxplot([box1,box2],labels=["化学","物理"],vert=False,showmeans=False)

    plt.ylabel('reslut',fontsize=20.0)

    plt.title('箱线图',fontsize=20.0)

    plt.yticks(fontsize=15.0)

    plt.show()

    1499410-20200804204632895-16350751.png

    展开全文
  • 箱线图理论:懒得介绍了。。。用五位数描述数据能够准确稳定地描绘出数据的离散分布情况,不受异常值影响。不能精确地衡量数据分布的偏态和尾重程度;对于批量比较大的数据,反映的信息更加模糊以及用中位数代表总体...

    箱线图

    理论:懒得介绍了。。。

    用五位数描述数据

    能够准确稳定地描绘出数据的离散分布情况,不受异常值影响。

    不能精确地衡量数据分布的偏态和尾重程度;对于批量比较大的数据,反映的信息更加模糊以及用中位数代表总体评价水平有一定的局限性。

    plt.boxplot(x, # 指定要绘制箱线图的数据

    notch=None, # 是否是凹口的形式展现箱线图,默认非凹口;

    sym=None, # 指定异常点的形状,默认为+号显示;

    vert=None, # 是否需要将箱线图垂直摆放,默认垂直摆放;

    whis=None, # 指定上下须与上下四分位的距离,默认为1.5倍的四分位差;

    positions=None, # 指定箱线图的位置,默认为[0,1,2…];

    widths=None, #指定箱线图的宽度,默认为0.5;

    patch_artist=None,# 是否填充箱体的颜色;

    meanline=None, # 是否用线的形式表示均值,默认用点来表示;

    showmeans=None, # 是否显示均值,默认不显示;

    showcaps=None, # 是否显示箱线图顶端和末端的两条线,默认显示;

    showbox=None, # 是否显示箱线图的箱体,默认显示;

    showfliers=None, # 是否显示异常值,默认显示;

    boxprops=None, # 设置箱体的属性,如边框色,填充色等;

    labels=None, # 为箱线图添加标签,类似于图例的作用;

    flierprops=None, # 设置异常值的属性,如异常点的形状、大小、填充色等;

    medianprops=None, # 设置中位数的属性,如线的类型、粗细等;

    meanprops=None, # 设置均值的属性,如点的大小、颜色等;

    capprops=None, # 设置箱线图顶端和末端线条的属性,如颜色、粗细等;

    whiskerprops=None # 设置须的属性,如颜色、粗细、线的类型等;

    )

    实际数据操作:

    import matplotlib.pyplot as plt

    # 设置中文和负号正常显示

    plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'

    plt.rcParams['axes.unicode_minus'] = False

    # 设置图形的显示风格

    plt.style.use('ggplot')

    # 绘图:daily_Ionset_r_c1_predicted的箱线图

    data = [1200, 1300, 1400, 500,1500, 1600, 1700, 1800, 1900, 2000, 2100,4000]

    plt.boxplot(x = data, # 指定绘图数据

    patch_artist=True, # 要求用自定义颜色填充盒形图,默认白色填充

    showmeans=True, # 以点的形式显示均值

    boxprops = {'color':'black','facecolor':'#9999ff'}, # 设置箱体属性,填充色和边框色

    flierprops = {'marker':'o','markerfacecolor':'red','color':'black'}, # 设置异常值属性,点的形状、填充色和边框色

    meanprops = {'marker':'D','markerfacecolor':'indianred'}, # 设置均值点的属性,点的形状、填充色

    medianprops = {'linestyle':'--','color':'orange'}) # 设置中位数线的属性,线的类型和颜色

    # 设置y轴的范围

    #plt.ylim(0,3000)

    # 去除箱线图的上边框与右边框的刻度标签

    plt.tick_params(top='off', right='off')

    # 保存图像

    plt.savefig('./results_imgs.png', bbox_inches='tight') #保存的文件名,裁剪掉图表多余的空白区域

    # 显示图形

    plt.show()

    代码运行结果展示:

    多组数据,多个箱线图

    import numpy as np

    import matplotlib.pyplot as plt

    import pandas as pd

    data = {

    'A': [1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2500],

    'B': [1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100],

    'C': [1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000],

    "D": [800, 1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900]

    }

    df = pd.DataFrame(data)

    df.plot.box(title="example show")

    plt.grid(linestyle="--", alpha=0.3)

    plt.savefig('./results_imgs.png', bbox_inches='tight')

    plt.show()

    展开全文
  • 1)箱线图,又称箱形图(boxplot)或盒式图,不同于一般的折线图、柱状图或饼图等传统图表,只是数据大小、占比、趋势等等的呈现,其包含一些统计学的均值、分位数、极值等等统计量,因此,该图信息量较大,不仅能够...
  • 箱线图判断异常值的标准以四分位数和四分位距为基础,四分位数具有一定的耐抗性,多达25%的数据可以变得任意远而不会很大地扰动四分位数,所以异常值不会影响箱形图的数据形状,箱线图识别异常值的结果比较客观。...
  • MATLAB画箱线图

    2018-10-13 16:27:46
    用matlab绘制箱线图,程序中给出了实例,可塑性好,可以把自己的数据直接代入
  • Python 绘制箱线图主要用 matplotlib 库里 pyplot 模块里的 boxplot() 函数。plt.boxplot() 参数详解plt.boxplot(x, # 指定要绘制箱线图的数据;notch=None, # 是否是凹口的形式展现箱线图,默认非凹口;sym=None, #...
  • 箱线图EXCEL制作

    2017-12-06 00:29:07
    箱线图EXCEL制作
  • Python 绘制箱线图主要用 matplotlib 库里 pyplot 模块里的 boxplot() 函数。plt.boxplot() 参数详解plt.pie(x, # 指定要绘制箱线图的数据;notch=None, # 是否是凹口的形式展现箱线图,默认非凹口;sym=None, # ...
  • 三种方式绘制箱线图#第一种:直接使用自带的箱线图函数import pandas as pdimport matplotlib.pyplot as pltdata=pd.read_excel("finaldata.xlsx")plt.rcParams["font.sans-serif"]=["...
  • 1.箱线图介绍第一步:计算上四分位数,中位数,下四分位数(计算公式略)。第二步:计算上四分位数和下四分位数之间的差值,四分位数差。第三步:绘制箱线图的上下范围,上限为上四分位数,下限为下四分位数。在箱子...
  • Python 绘制箱线图主要用 matplotlib 库里 pyplot 模块里的 boxplot() 函数。plt.boxplot() 参数详解plt.pie(x, # 指定要绘制箱线图的数据;notch=None, # 是否是凹口的形式展现箱线图,默认非凹口;sym=None, # ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,365
精华内容 4,546
关键字:

箱线图