精华内容
下载资源
问答
  • qt箱线图案例代码.zip

    2021-04-11 16:09:59
    qt箱线图案例代码,可供学习与集成
  • qt彩色箱线图案例代码
  • 箱线图

    万次阅读 多人点赞 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

    展开全文
  • 利用svm对3类酒分类、识别,生成箱线图,分类图
  • 概念箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分别为数据的...

    概念

    箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。

    把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分别为数据的第25%,50%和75%的数字。

    201911060900573.jpg

    四分位间距(Interquartilerange(IQR))=上分位数(upper quartile)-下分位数(lower quartile)

    箱线图分为两部分,分别是箱(box)和须(whisker)。箱(box)用来表示从第一分位到第三分位的数据,须(whisker)用来表示数据的范围。

    箱线图从上到下各横线分别表示:数据上限(通常是Q3+1.5IQR),第三分位数(Q3),第二分位数(中位数),第一分位数(Q1),数据下限(通常是Q1-1.5IQR)。有时还有一些圆点,位于数据上下限之外,表示异常值(outliers)。

    (注:如果数据上下限特别大,那么whisker将显示数据的最大值和最小值。)

    201911060900574.jpg

    案例

    1. 使用pandas自带的函数

    使用pandas里的dataframe数据结构存放待显示的数据。如果希望显示的各个数据列表中,数据长度不一致,可以先用Series函数转换为Series数据,再存储到dataframe中,对应index的value值若不存在则为NaN。

    下面我们随机生成4组数据,看看他们的箱线图。

    【代码】

    import numpy as np

    import pandas as pd

    from matplotlib import pyplot as plt

    def list_generator(mean, dis, number): # 封装一下这个函数,用来后面生成数据

    return np.random.normal(mean, dis * dis, number) # normal分布,输入的参数是均值、标准差以及生成的数量

    # 我们生成四组数据用来做实验,数据量分别为70-100

    y1 = list_generator(0.8531, 0.0956, 70)

    y2 = list_generator(0.8631, 0.0656, 80)

    y3 = list_generator(0.8731, 0.1056, 90)

    y4 = list_generator(0.8831, 0.0756, 100)

    # 如果数据大小不一,记得需要下面语句,把数组变为series

    y1 = pd.Series(np.array(y1))

    y2 = pd.Series(np.array(y2))

    y3 = pd.Series(np.array(y3))

    y4 = pd.Series(np.array(y4))

    data = pd.DataFrame({"1": y1, "2": y2, "3": y3, "4": y4, })

    data.boxplot() # 这里,pandas自己有处理的过程,很方便哦。

    plt.ylabel("ylabel")

    plt.xlabel("xlabel") # 我们设置横纵坐标的标题。

    plt.show()

    【效果】

    201911060900575.jpg

    上面的箱线图很简单,给出数据后,几行代码就能生成,不过这是简单的箱线图。下面再看看稍微复杂点的。

    2. 使用matplotlib库画箱线图

    我们上面介绍了使用pandas画箱线图,几句命令就可以了。但是稍微复杂点的可以使用matplotlib库。matplotlib代码稍微复杂点,但是很灵活。细心点同学会发现pandas里面的画图也是基于此库的,下面给你看看pandas里面的源码:

    201911060900576.jpg

    通过源码可以看到pandas内部也是通过调用matplotlib来画图的。那下面我们自己实现用matplotlib画箱线图。

    我们简单模拟一下,男女生从20岁,30岁的花费对比图,使用箱线图来可视化一下。

    【代码】

    import numpy as np

    import matplotlib.pyplot as plt

    fig, ax = plt.subplots() # 子图

    def list_generator(mean, dis, number): # 封装一下这个函数,用来后面生成数据

    return np.random.normal(mean, dis * dis, number) # normal分布,输入的参数是均值、标准差以及生成的数量

    # 我们生成四组数据用来做实验,数据量分别为70-100

    # 分别代表男生、女生在20岁和30岁的花费分布

    girl20 = list_generator(1000, 29.2, 70)

    boy20 = list_generator(800, 11.5, 80)

    girl30 = list_generator(3000, 25.1056, 90)

    boy30 = list_generator(1000, 19.0756, 100)

    data=[girl20,boy20,girl30,boy30,]

    ax.boxplot(data)

    ax.set_xticklabels(["girl20", "boy20", "girl30", "boy30",]) # 设置x轴刻度标签

    plt.show()

    【效果】

    201911060900577.jpg

    从上面随机模拟,看出来男生花费赶不上女生吧,尤其是30岁以后,女生摔男生一大截啊。(模拟数据,请勿当真)

    仔细看上面的图,感觉还是不太好,既然男女生对比,那是不是要分组,男女生放一块,然后再根据年龄段比较,这样比较才直观。

    那我们就稍微改动上面一点点代码,实现男女生箱线图挨得近一点。

    【代码】

    import numpy as np

    import matplotlib.pyplot as plt

    fig, ax = plt.subplots() # 子图

    def list_generator(mean, dis, number): # 封装一下这个函数,用来后面生成数据

    return np.random.normal(mean, dis * dis, number) # normal分布,输入的参数是均值、标准差以及生成的数量

    # 我们生成四组数据用来做实验,数据量分别为70-100

    # 分别代表男生、女生在20岁和30岁的花费分布

    girl20 = list_generator(1000, 29.2, 70)

    boy20 = list_generator(800, 11.5, 80)

    girl30 = list_generator(3000, 25.1056, 90)

    boy30 = list_generator(1000, 19.0756, 100)

    data=[girl20,boy20,girl30,boy30,]

    # 用positions参数设置各箱线图的位置

    ax.boxplot(data,positions=[0, 0.6, 3, 3.7,])# 就是后面加了位置

    ax.set_xticklabels(["girl20", "boy20", "girl30", "boy30",]) # 设置x轴刻度标签

    plt.show()

    【效果】

    201911060900578.jpg

    这样看一下,是不是男女生根据年龄段分组了呢,稍微比上面好看些,也直观一些。这样既能看出年龄段的对比,又能看出男女生的对比。

    同样,如果想要箱线图旋转90°,那么也是在在 boxplot命令里加上参数 vert=False即可。如果想要更多设置,可以基于 boxplot函数参数进行修改,其函数定义如下:

    boxplot(self, x, notch=None, sym=None, vert=None, whis=None,

    positions=None, widths=None, patch_artist=None,

    bootstrap=None, usermedians=None, conf_intervals=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,

    manage_xticks=True, autorange=False, zorder=None)

    3. 使用seaborn库和matplotlib来画箱线图

    Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,不需要经过大量的调整就能使你的图变得精致。但应强调的是,应该把Seaborn视为matplotlib的补充,而不是替代物。

    函数定义:

    boxplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,

    orient=None, color=None, palette=None, saturation=.75,

    width=.8, dodge=True, fliersize=5, linewidth=None,

    whis=1.5, notch=False, ax=None, **kwargs)

    【参数讲解】 x,y:dataframe中的列名(str)或者矢量数据

    data:dataframe或者数组

    palette:调色板,控制图像的色调

    hue(str):dataframe的列名,按照列名中的值分类形成分类的条形图

    order, hue_order (lists of strings):用于控制条形图的顺序

    orient:"v"|"h" 用于控制图像使水平还是竖直显示(这通常是从输入变量的dtype推断出来的,此参数一般当不传入x、y,只传入data的时候使用)

    fliersize:float,用于指示离群值观察的标记大小

    whis:确定离群值的上下界(IQR超过低和高四分位数的比例),此范围之外的点将被识别为异常值。IQR指的是上下四分位的差值。

    width:float,控制箱型图的宽度

    我们还是基于上面男女花费案例来说,不过这里我们把数据进行了整理,做成了数据框dataframe。

    【包含的库】

    import pandas as pd

    import numpy as np

    import seaborn as sns

    import matplotlib.pyplot as plt

    # plt.rc("font", family="SimHei", size="15") 避免中文乱码,可不用

    【代码第一部分】数据生成

    def list_generator(mean, dis, number): # 封装一下这个函数,用来后面生成数据

    return np.random.normal(mean, dis * dis, number) # normal分布,输入的参数是均值、标准差以及生成的数量

    # 我们生成四组数据用来做实验,数据量分别为70-100

    # 分别代表男生、女生在20岁和30岁的花费分布

    # 构造数据库DataFrame

    num = 100 # 每组100个样本

    girl20 = list_generator(1000, 29.2, num)

    boy20 = list_generator(800, 11.5, num)

    girl30 = list_generator(3000, 25.1056, num)

    boy30 = list_generator(1000, 19.0756, num)

    girl_sex = ['female' for _ in range(num)]

    boy_sex = ['male' for _ in range(num)]

    age20 = [20 for _ in range(num)]

    age30 = [30 for _ in range(num)]

    girl_d1 = pd.DataFrame({'cost': girl20, 'sex': girl_sex, 'age': age20})

    boy_d1 = pd.DataFrame({'cost': boy20, 'sex': boy_sex, 'age': age20})

    girl_d2 = pd.DataFrame({'cost': girl30, 'sex': girl_sex, 'age': age30})

    boy_d2 = pd.DataFrame({'cost': boy30, 'sex': boy_sex, 'age': age30})

    data = pd.concat([girl_d1, boy_d1, girl_d2, boy_d2])

    print(data.head())

    数据长啥样?下面是给出的数据框前面的部分,一共400个样本,分性别和年龄。

    201911060900579.jpg

    【代码第二部分】使用seaborn库画图

    简单看看所有数据的分布情况:

    sns.boxplot(x="age", y="cost", data=data, hue="sex", width=0.5, linewidth=1.0, palette="Set3")

    2019110609005710.jpg

    根据性别分组:

    sns.boxplot(x="age", y="cost", data=data, hue="sex", width=0.5, linewidth=1.0, palette="Set3")

    2019110609005711.jpg

    根据年龄分组:

    sns.boxplot(x="sex", y="cost", data=data, hue="age", width=0.5, linewidth=1.0, palette="Set3")

    2019110609005812.jpg

    上面这些是seaborn库的简单使用,可以通过年龄看男女花费比较,也可以根据性别看不同年龄段的花费比较,还是比较直观的。当然除此之外还有很多其他的炫技,大家可以自己尝试。

    总结

    从上面来看,虽然我们是采用不同方法来画箱线图,但是最基本的都是调用matplotlib库,这里面pandas是最简单的箱线图可视化,但是不灵活。而matplotlib虽然灵活,但是需要慢慢调,而且复杂。相比之下seaborn更加酷炫,而且图还更好看。上面例子都是本人亲测,一个个对比,原创文章,大家如果有其他问题可以留言讨论。

    展开全文
  • 箱线图(Boxplot)

    千次阅读 2019-07-12 18:52:45
    箱线图(Boxplot)也称箱须图(Box-whisker Plot),箱形图等,1977年由美国著名统计学家约翰·图基(John Tukey)发明,是一种用作显示一组数据分散情况资料的统计图,利用数据中的五个统计量:最小值、第一四分...

            箱线图(Boxplot)也称箱须图(Box-whisker Plot),箱形图等,1977年由美国著名统计学家约翰·图基(John Tukey)发明,是一种用作显示一组数据分散情况资料的统计图,利用数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值来描述数据的一种方法,它也可以粗略地看出数据是否具有有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较。箱线图的绘制方法是:先找出一组数据的最大值、最小值、中位数和两个四分位数;然后, 连接两个四分位数画出箱子;再将最大值和最小值与箱子相连接,中位数在箱子中间。(来自百度百科和维基百科的理解)

    箱线图在数据异常值检测中应用的好处:

             异常值是每一个数据科学家关注的对象,每个数据科学家都在分析异常值产生的原因,剔除异常值。
             箱形图就为我们提供了识别异常值的一个标准:异常值通常被定义为小于Q1-1.5IQR或大于Q3+1.5IQR的值。这个定义来源于经验的判断,当然,可以根据数据情况进行调整。
             众所周知,基于正态分布的3σ法则或z分数方法是以假定数据服从正态分布为前提的,但实际数据往往并不严格服从正态分布。它们判断异常值的标准是以计算数据批的均值和标准差为基础的,而均值和标准差的耐抗性极小,异常值本身会对它们产生较大影响,这样产生的异常值个数不会多于总数0.7%。显然,应用这种方法于非正态分布数据中判断异常值,其有效性是有限的。

             箱形图的绘制依靠实际数据,不需要事先假定数据服从特定的分布形式,没有对数据作任何限制性要求,它只是真实直观地表现数据形状的本来面貌;另一方面,箱形图判断异常值的标准以四分位数和四分位距为基础,四分位数具有一定的耐抗性,多达25%的数据可以变得任意远而不会很大地扰动四分位数,所以异常值不能对这个标准施加影响,箱形图识别异常值的结果比较客观。

    五个统计量:

    首先,需要将一组值从小到大排列。

    1.最小值

    就是排在第一位的值

    2.第一四分位数

    第一四分位数(Q1)又称为“较小四分位数”,把一组值从小到大排列并分成四等分,处于三个分割点位置的得分就是四分位数,也就是样本所有数值从小到大排列后第25%的数字。

    3.中位数

    中位数(Q2),又称第二四分位数,等于该样本中所有数值由小到大排列后第50%的数字。

    4.第三四分位数

    第三四分位数(Q2),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

    5.四分位距

    四分位距(InterQuartile Range,IQR) ,第三四分位数与第一四分位数的差距。

    计算实例:

    实例1:刚好整除

    数据:8、3、15、12、14、56、40、36、27、10、11  一共11个数值

    由小到大的排列结果:3、8、10、11、12、14、15、27、36、40、56

    Q1的位置=(11+1)/4=3     Q1=10

    Q2的位置=(11+1)/2=6     Q2=14

    Q3的位置=3*(11+1)/4=9 Q3=36

    实例2:不整除:

    数据:8、3、15、12、14、56  一共6个数值

    由小到大的排列结果:3、8、12、14、15、46

    第一种计算方式不容易出错,建议用第一种

    Q1的位置=(6+1)/4=1.75     Q1=3+(8-3)*(1.75-1)=6.75或者 Q1=0.25×3+0.75×8=6.75

    Q2的位置=(6+1)/2=3.5       Q2=12+(14-12)*(3.5-3)=13或者 Q2=0.5×12+0.5×14=13

    Q3的位置=3*(6+1)/4=5.25 Q3=15+(46-15)*(5.25-5)=22.75 或者 Q3=0.75×15+0.25×46=22.75

    上下限:

    1.上限

    上限是非异常范围内的最大值。

    四分位距IQR=Q3-Q1,上限=Q3+1.5IQR

    2.下限

    下限是非异常范围内的最小值。

    下限=Q1-1.5IQR

             箱线图判断异常值的标准以四分位数和四分位距为基础,四分位数具有一定的耐抗性,多达25%的数据可以变得任意远而不会很大地扰动四分位数,所以异常值不会影响箱形图的数据形状,箱线图识别异常值的结果比较客观。

    上个图,直观感受下:

    以上就是对箱线图的介绍,之后小白会在博文中Po出做的异常值检测的案例,欢迎大家指教~

    展开全文
  • MATLAB箱线图

    2021-09-25 12:39:36
    MATLAB笔记之 作图 箱线图 1、峰值偏度检验 2、相关性作图 MATLAB分析数据相关性实例 3、箱线图看离散程度 如何使用matlab软件进行峰度-偏度检验https://jingyan.baidu.com/article/380abd0ab6f1c75d90192cee.html ...

    MATLAB笔记之 作图 箱线图

    1、峰值偏度检验
    2、相关性作图
    MATLAB分析数据相关性实例
    3、箱线图看离散程度

    如何使用matlab软件进行峰度-偏度检验https://jingyan.baidu.com/article/380abd0ab6f1c75d90192cee.html

    Matlab图解峰度kurtosis与偏度skewness 原1
    Matlab图解峰度kurtosis与偏度skewness 知乎2

    matlab怎么设置自定义和旋转坐标轴刻度值及标签参考

    %设置x轴范围和刻度
    set(gca,‘XLim’,[0 10]);%X轴的数据显示范围
    set(gca,‘XTick’,[0:1:10]);%设置要显示坐标刻度
    set(gca,‘XTickLabel’,[0:1:10]);%给坐标加标签

    使用plot()绘制一个图形,如我们在MATLAB命令窗口中输入代码:
    a= linspace(-15,0.1,15); %坐标刻度-15~15、间距0.1
    b=sin(a);
    plot(a,b)
    将绘制一个横坐标-15到15的正弦函数曲线图。

    使用xticks()函数,xticklabels()函数,以及yticks()函数在指定位置显示横坐标和纵坐标刻度值,间距可以不一致。
    xticks([-3pi -2pi -pi 0 pi 2pi 3pi])
    xticklabels({’-3\pi’,’-2\pi’,’-\pi’,‘0’,’\pi’,‘2\pi’,‘3\pi’})
    yticks([-1 -0.9 -0.5 0 0.4 0.7 1])

    旋转横坐标和纵坐标标签或刻度的角度,使用xtickangle()函数和ytickangle()函数
    a= 511rand(1,33);
    b=rand(1,33);
    scatter(a,b,'r
    ’)
    xtickangle(50)
    ytickangle(80)
    在这里插入图片描述
    坐标轴刻度标签格式的修改,使用特殊符号显示刻度标签,得使用ytickformat()函数
    a=[15 18 22 35 42 57 68 75 77 65 57 69 77 86];
    stem(a,‘r*’)
    xlim([1 16])
    ytickformat(‘usd’)
    我们如需更改成其他特殊格式字符,在ytickformat()函数中更改字符串即可。

    xtickformat(’%.2f’)
    ytickformat(’\xA3%.2f’)
    可将横坐标和纵坐标的刻度小数点控制到2位,数字前面显示英镑等其他特殊字符,

    此外,我们在绘制图形的时候,我们可能会碰到横坐标或者纵坐标刻度值过大MATLAB使用科学计数指数形式显示坐标轴刻度,影响数据的直观阅读和理解,如我们在MATLAB命令窗口中输入代码:
    a= linspace(0,2,555);
    b= 4400exp(a).cos(15a);
    plot(a,b,'r
    ’)
    运行程序,可以看到图上纵坐标刻度值以3×10的4次方显示

    上图的指数记数法刻度是可以更改成我们习惯的10进制未经转换的数值刻度的,我们更改坐标轴的axes对象属性即可,如我们在上面代码后面添加代码:
    ax = gca;
    ax.YAxis.Exponent =3;
    即可将指数值更改为3,如果添加代码:
    ax = gca;
    ax.YAxis.Exponent =0;
    将不再使用指数记数法显示坐标轴刻度

    箱线图

    箱线图案例

    1、介绍

    箱线图是一种用于显示一组数据离散分布情况的统计图,多用于多组数据的比较,相对于直方图,既可以节省空间,还可以展示更多信息(如均值、四分位数等)。

    箱线图能够明确的展示离群点的信息,同时能够让我们了解数据是否对称,数据如何分组、数据的峰度。

    箱线图包含数学统计量,能够分析不同类别数据各层次水平差异,还可以揭示数据间离散程度、异常值、分布差异等。
    在这里插入图片描述
    箱盒图共由五个数值点构成,分别是最小观察值(下边缘),25%分位数(Q1),中位数,75%分位数(Q3),最大观察值(上边缘)。
    中横线:中位数
    IQR:75%分位数(Q3)-25%分位数(Q1)
    最小观察值(下边缘) = Q1 – 1.5 IQR
    最大观察值 (上边缘)= Q3 + 1.5 IQR

    在这里插入图片描述

    如果数据有存在离群点即异常值,他们超出最大或者最小观察值,此时将离群点以“圆点”形式进行展示

    2、绘制

    subplot(2,1,1);boxplot(X)
    subplot(2,1,2);boxplot(X,‘plotstyle’,‘compact’)
    采用boxplot 生成两个箱线图, subplot是子图的意思,
    第一个箱线图是traditional 模式,第二个箱线图是compact模式

    boxplot(x,Name,Value)
    在这里插入图片描述
    MATLAB绘图
    1、图形
    title(’图形名称’) (都放在单引号内)
    xlabel(’x轴说明’)
    ylabel(’y轴说明’)
    text(x,y,’图形说明’)
    legend(’图例1’,’图例2’,…)
    set(gca,‘XTickLabel’,[1991:1:2009]);%给X轴坐标加标签 (1991-2009间隔1)
    xtickangle(50)%更改x轴标签角度

    2、坐标控制
    axis equal :纵横坐标轴采用等长刻度
    axis square:产生正方形坐标系(默认为矩形)
    axis auto:使用默认设置
    axis off:取消坐标轴
    axis on :显示坐标轴

    展开全文
  • 箱线图(Box-plot)是用来显示一组或多组数据分布特征的统计图。关于箱线图具体信息,可以参考箱线图详解 我们需要对以下数据中的charges值做出箱线图,并且按照不同性别分组展现。源数据下载 1、使用matplotlib的...
  • 本文演示了如何通过python绘制双y轴、箱线图、概率分布三种图形,并给出了具体案例源代码供读者参考。 绘制双y轴图形 效果图如下 代码如下 import numpy as np import matplotlib.pyplot as plt..
  • matplotlib【3】--箱线图

    千次阅读 2018-10-13 21:08:21
    箱线图一般用来展现数据的分布(如上下四分位值、中位数等),同时,也可以用箱线图来反映数据的异常情况。 饼图函数:plt.boxplot() boxplot函数设置: plt.boxplot(x, notch=None, sym=None, vert=None, whis=...
  • 箱线图是另一种体现数据分布的图形,通过该图可以得知数据的下须值(Q1-1.5IQR)、下四分位数(Q1)、中位数(Q2)、均值、上四分位数(Q3)和上须值(Q3+1.5IQR),更重要的是,箱线图还可以发现数据中的异常点。...
  • Python绘制箱线图示例

    千次阅读 2018-10-16 19:35:25
    import pandas as pd import matplotlib.pyplot as plt # 导入图像库 catering_sale = 'C:\\Users\...plt.show() # 展示箱线图 数据链接: https://pan.baidu.com/s/1s83d90s2abYI-uHDalrYYQ 提取码: ryh1
  • python--matplotlib(箱线图)

    千次阅读 2018-04-25 21:12:01
    前言 今天继续我们的python绘图系列,针对离散变量我们可以使用常见的条形图和饼图完成数据的可视化工作,那么,针对数值型变量,我们也有很多可视化的方法,例如箱线图、直方图、折线图、面积图、散点图等等。...
  • 前言 参考:正态分布的峰度和偏度分别...因此,不符合正态分布 ③ 箱线图检验: (此处图可替换成由标识上下四分位数图) 看长方形的上下边(上四分位数和下四分位数)和中位数之间的距离是否相等,不能偏上也不能偏下
  • 5分钟教你轻松掌握箱线图

    万次阅读 多人点赞 2019-02-19 11:40:48
    箱线图也称箱须图、箱形图、盒图,用于反映一组或多组连续型定量数据分布的中心位置和散布范围。箱形图包含数学统计量,不仅能够分析不同类别数据各层次水平差异,还能揭示数据间离散程度、异常值、分布差异等等。 ...
  • boxplot()函数的作用是绘制箱线图箱线图、盒须图、箱图)。 箱线图是由一个箱体和一对箱须所组成的统计图形。箱体是由第一四分位数、中位数(第二四分位数)和第三四分位数所组成的。在箱须的末端之外的数值可以...
  • 可视化篇(四)——— python绘制双y轴、箱线图、概率分布三种图形及案例摘要绘制双y轴图形绘制箱线图绘制概率分布图 摘要 本文演示了如何通过python绘制双y轴、箱线图、概率分布三种图形,并给出了具体案例供读者...
  • 箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分别为...
  • 箱线图是由数据的最大值、最小值、中位数、两个四分位数这五个特征值绘制而成的,它主要用于反映原始数据分布的特征。 箱线图: 若观察值超过了上四分位数加1.5倍四分位差,或者小于下四分位数减1.5倍四分位差,则...
  • 文章目录【Python数据可视化柱状图AI教程】Bar柱状图36例子阅读和使用方法Demo案例及视频 【Python数据可视化柱状图AI教程】Bar柱状图36例子 Python在处理各种数据时,利用图表(PyEcharts)将其可视化,提供直观、...
  • 箱线图(boxplot)简介与举例

    万次阅读 2018-08-30 13:57:47
    箱线图的上、下限制线分别在比Q1低1.5(IQR)和比Q3高1.5(IQR)的位置上。对于薪水数据来说,IQR = Q3 − Q1 = 3000 − 2865 = 135。因此,限制线的位置在2865 − 1.5(135) = 2662.5和3000 + 1.5(135) = 3202.5处...
  • import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np # 防止乱码 mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"] = False x = np.random.randn...
  • 箱形图(Box-plot)是统计学中一种常见的统计数图,由于其图形与箱子类似而得名,所以又有"箱线图"、"盒须图"、"盒式图"等名称。箱形图可以统计出单变量数据的离散程度,将数据的离散程度以及分布区间清晰直观地表现出来,...
  • boxplot()函数的作用是绘制箱线图箱线图、盒须图、箱图)。 箱线图是由一个箱体和一对箱须所组成的统计图形。箱体是由第一四分位数、中位数(第二四分位数)和第三四分位数所组成的。在箱须的末端之外的数值可以...
  • 箱线图一般是用来展现数据的分布(如上下四分值,中位数等).同时,也可以用箱线图来反映数据的异常情况。 boxplot参数解读 plt.boxplot(x,notch=None,sym=None, vert=None, whis=None, positions=None, widths=None,...
  • python数据可视化[3] matplotlib(箱线图)

    千次阅读 2019-04-23 11:09:45
    说明:本程序参考刘顺祥老师的<...针对离散变量我们可以使用常见的条形图和饼图完成数据的可视化工作,那么,针对数值型变量,我们也有很多可视化的方法,例如箱线图、直方图、折线图、面积图、散点图等...
  • python:matplotlib 箱线图(boxplot)参数及分析详解

    万次阅读 多人点赞 2018-12-06 15:21:03
    文章目录箱线图统计学知识matplotlib画图箱线图 箱线图统计学知识 上限值:Q1-1.5×IQR 上相邻值:距离上限值最近的值 须线:上下分位数各自与上下相邻值的距离 上四分位数(Q1):一组数据按顺序排列,从小至大第25%...
  • 基于Highcharts箱线图实现k线图

    千次阅读 2018-01-27 15:19:41
    使用echarts是最简单的,有现成的demo可供参考,而d3可定制性是最高的,这些定制需要你一点点去写,也不好写,highcharts官网上没有demo,网上也没有相关的案例,但是通过阅读他的说明文档,发现了箱线图这一图表...
  • 先来看一下排序前后的效果,数据集为北京二手房房价,以增强型图(boxenplot)的形式来展示各地区的房价分布情况。 能看出还是比较有细节感的,主要是重新对数据集中的各地区进行了排序,从而构建出一个内部顺序...
  • 四分位数的应用——基于收入实例的箱体图与离群值规则内容导入:...结合学习成绩与收入的案例分析,内容深入浅出,案例贴合实际,文章内容适合数据分析小白。下期给大家介绍集中趋势的应用。欢迎大家关注。1概念介...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,525
精华内容 610
关键字:

箱线图案例