博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一起来玩echarts系列(一)------箱线图的分析与绘制
阅读量:6689 次
发布时间:2019-06-25

本文共 1562 字,大约阅读时间需要 5 分钟。

一、箱线图 Box-plot


箱线图一般被用作显示数据分散情况。具体是计算一组数据的中位数25%分位数75%分位数上边界下边界,来将数据从大到小排列,直观展示数据整体的分布情况。
5fe50611gcabbb57b3a71&690
大部分正常数据在箱体中,上下边界之外的就是异常数据了。

上下边界的计算公式是:

UpperLimit=Q3+1.5IQR=75%分位数+(75%分位数-25%分位数)1.5

LowerLimit=Q1-1.5IQR=25%分位数-(75%分位数-25%分位数)1.5
参数说明:
1.Q1表示下四分位数,即25%分位数;Q3为上四分位数,即75%分位数;IQR表示上下四分位差,系数1.5是一种经过大量分析和经验积累起来的标准,一般情况下不做调整。
2.分位数的参数可根据具体预警结果调整:25%和75%,是比较灵敏的条件,在这种条件下,多达25%的数据可以变得任意远而不会很大地扰动四分位。具体业务中可结合拟合结果自行调整为其他分位

使用echarts时,这些计算通过调用echarts.dataTool.prepareBoxplotData()来完成。

说到这里,有一个预警,绘制箱线图除了要下载echart.js之外,还需要引入dataTool.js,否则浏览器会报错:Uncaught TypeError: Cannot read property 'prepareBoxplotData' of undefined(…)

dataTool.js可以到上下载。

二、echarts箱线图示例


echart官网给出的有两种。

一种是单值对应(样本元素有一组对应的值数据):

836417-20170104163519722-795219979.png

另一种是多值对应(样本元素有多个对应的值数据):
836417-20170104163536003-367523879.png

三、数据结构分析


1.单值对应

单值对应的数据结构比较简单,一个样本信息的数据存储到对应的一个数组里,这些数组又存储在一个大数组里。然后用echarts.dataTool.prepareBoxplotData()处理这个大数组。

2.多值对应

举一个栗子:线上地址在

836417-20170104163548269-793452355.png

两种性别的三种基因含量表。(数据纯虚构)

那要提供什么样的数据才能使用echart生成对应的箱线图?

再来看一下echart官网给出栗子数据,是通过三个for循环随机生成的。

data = [];for (var seriesIndex = 0; seriesIndex < 5; seriesIndex++) {    var seriesData = [];    for (var i = 0; i < 18; i++) {        var cate = [];        for (var j = 0; j < 100; j++) {            cate.push(Math.random() * 200);        }        seriesData.push(cate);    }    data.push(echarts.dataTool.prepareBoxplotData(seriesData));}

通过在控制台console.log(data),console.log(seriesData),console.log(cate),

可以看出外层的循环是echarts.dataTool.prepareBoxplotData()执行的次数=5,可以理解为每个样本有5类元素。内部的循环表示有18个样本,一类元素的样本数据有100条。

所以要实现的性别基因表的数据结构应该是:

836417-20170104163614441-1675924578.png

弄清楚数据结构剩下的绘图操作就是按部就班了,完整代码我已提交到

====over====

转载于:https://www.cnblogs.com/qjqcs/p/6249234.html

你可能感兴趣的文章
Java8并发教程:Threads和Executors
查看>>
v8世界探险(3) - v8的抽象语法树结构
查看>>
《C语言及程序设计》实践项目——用if语句实现分支结构
查看>>
“AI +跨界+技术” 看2018中国会展创新者大会的新观点
查看>>
JavaScript——数据类型转换(显式和隐式)
查看>>
【半月刊 4】前端高频面试题及答案汇总
查看>>
lc686. Repeated String Match
查看>>
RHEL 7.1操作系统安装过程说明
查看>>
基于Python的性能自动化测试框架设计思路和实现
查看>>
Spark里几个重要的概念及架构
查看>>
dubbo-rpc基本功能
查看>>
7月国内电脑分辨率TOP10 :1366*768跌破13%
查看>>
CefSharp获取网页源码时卡住长时间没有返回结果
查看>>
刚入门Python的小伙伴,这是腾讯大牛工作中总结的爬虫经验!
查看>>
智能微型机器人可随周围环境“变身”
查看>>
Linux操作系统 MBR扇区故障了怎么办
查看>>
Java网络编程基础(一)
查看>>
在Mac版本下的IDEA中设置代码注释模版
查看>>
我的友情链接
查看>>
Ruby实现二分法查找
查看>>