回归统计在 echarts 中的实现

 贵在随心 关注

0.5 2019.03.13 13:55 字数 432 阅读 483评论 0喜欢 3

在做数据的统计的时候,难免会涉及到线性拟合问题,也就是回归统计问题。
接下来我们看看回归算法如何把数据分析与echarts 图表结合的.
这里我们需要借助 echarts 的一个扩展库: echarts-stat.js
ecStat 是 ECharts 的统计和数据挖掘工具。你可以把它当作一个工具库直接用来分析数据;你也可以将其与 ECharts 结合使用,用 ECharts 可视化数据分析的结果。

1、如何使用呢?

1.1 使用 npm 安装
执行命令:

npm install echarts-stat -S

1.2 直接引入

<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts-stat/ecStat.min.js"></script>

1.3 d调用方式

let myRegression = ecStat.regression(regressionType, data, order);

1.4 参数说明
regressionType:回归类型(String),有四种回归算法类型:'linear', 'exponential', 'logarithmic', 'polynomial'
data:要统计的数据,是个二维数组(Array),一维数组值分别表示自变量和因变量的值。如下示例:

let data = [[1, 2],[3, 5],...];

order:多项式的阶数(number)。对于非多项式回归,可以忽略该参数。

1.5 返回值说明
myRegression:返回一个对象. 包括用于绘制折线图的拟合数据点 points,回归曲线的参数 parameter,以及拟合出的曲线表达式 expression。如下:

// 绘制折线图的拟合数据点myRegression.points = [[1, 2],[3, 4],...];// 这是线性回归到额参数,对于其它的回归类型,返回值有所不同myRegression.parameter = {gradient: 1.695,intercept: 3.008};// 拟合曲线的表达式myRegression.expression = 'y = 1.7x + 3.01';

2、echarts 中的回归算法种类

回归算法根据原始输入数据集中自变量和因变量的值拟合出一条曲线,以反映它们的变化趋势。目前只支持单个自变量的回归算法。
示例数据:

data = [[1990, 97.50795611],[1991, -1.47594249],[1992, 100.18523178],[1993, 70.79915311],[1994, 78.57069599],[1995, 31.10961999],[1996, 256.79296329],[1997, -125.99480511],[1998, 123.06305912],[1999, 20.88276861],[2000, 83.58488798],[2001, -27.35862341],[2002, 36.12902213],[2003, 330.29682761],[2004, 81.03370443],[2005, 72.43589272],[2006, 68.20541466],[2007, 71.72078271],[2008, 30.23107631],[2009, 73.36549425],[2010, 117.4990002],[2011, 210.40146031],[2012, 31.12226507],[2013, 86.32869462],[2014, 128.90111788],[2015, 115.70773146]
]// 引入echartsimport echarts from 'echarts'// 引入 echarts 拓展回归统计 echarts-statlet ecStat = require("echarts-stat");export default function getRegressionChart(chartData, chartTitle, chartId, regType, regOrder) {let regressionDemo = ecStat.regression(regType, chartData, regOrder);regressionDemo.points.sort(function(a, b) {return a[0] - b[0];});let option = {title: {left: "25%",top: "2%",text: chartTitle,textStyle: {color: "#707070",fontSize: 25}},xAxis: {type: "category",splitNumber: "7",splitLine: {show: true}},yAxis: {type: "value",splitNumber: "7",splitLine: {show: true}},series: [{name: "line",type: "line",itemStyle: {color: "#87CEFF"},data: chartData},{name: "line",type: "line",showSymbol: false,lineStyle: {// type: "dashed",color: "#f00"},data: regressionDemo.points}]};let regressionChart = echarts.init(document.getElementById(chartId));regressionChart.setOption(option, true);

2.1 线性回归

regressionChart(data, regTitle, "regression-chart", "linear", 1);

线性回归效果图

2.2 指数回归

// 测试数据
let expData = [[1, 4862.4],[2, 5294.7],[3, 5934.5],[4, 7171.0],[5, 8964.4],[6, 10202.2],[7, 11962.5],[8, 14928.3],[9, 16909.2],[10, 18547.9],[11, 21617.8],[12, 26638.1],[13, 34634.4],[14, 46759.4],[15, 58478.1],[16, 67884.6],[17, 74462.6],[18, 79395.7]];
regressionChart(expData, regTitle, "regression-chart", "exponential", 1);

指数回归示例图

2.3 对数回归

regressionChart(logicData, regTitle, "regression-chart", "logarithmic", 1);

对数回归示例图

2.4 多项式回归

// 针对第一个例子做 4次多项式回归
regressionChart(data, regTitle, "regression-chart", "polynomial", 4);

··~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以上别人写的参考部分  一下 自己做的趋势线 效果图

本文转自:https://www.jianshu.com/p/c97273a05167

回归统计在 echarts 中的实现---在散点图中加趋势线相关推荐

  1. 回归统计在DMP中的实战应用

    源宝导读:本文将讲解在大数据分析领域的线性回归统计计算方法,以及如何将非线性转化为线性回归的原理,同时介绍了两种的回归统计库的使用和对比,最后介绍线性回归在DMP产品的应用实践. 一.背景 回归统计, ...

  2. ECharts问题--柱状图和折线图中xAxis.data为空时报错问题解决

    ECharts问题--柱状图和折线图中xAxis.data为空时报错问题解决 参考文章: (1)ECharts问题--柱状图和折线图中xAxis.data为空时报错问题解决 (2)https://ww ...

  3. java怎么统计随机数出现次数,Excel统计出现次数、个数的VBA代码 java中怎么判断一个字符串中包含某个字符或字...

    延伸:java中怎么判断一个字符串中包含某个字符或字符 描述:...一个字符串中包含某个字符的单词说出现的次数 c#什么方法可以判断字符串中包含某个字符的个数? JAVA判断字符串数组中是否包含某字符 ...

  4. 概率与统计在计算机应用,计算机技术在概率论和数理统计中的应用

    计算机技术在概率论和数理统计中的应用 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 概率论与数理统计 期中论文计算机技术在概率论和 ...

  5. 实现文件中名词的统计计数_通过勤哲EXCEL和Excel中的rank函数实现排名统计

    如今,信息化已成为各行业企业转型和发展的关键所在,信息化技术最明显的特点是企业不同部门的人在信息技术的支撑下,可以利用丰富的资源与工具展开协作学习,在相对自由的模式和环境下,改变传统设计相对局限.固定 ...

  6. java+txt+词语+次数_Java练习2--读取txt文件统计考勤次数并写入一个txt文件中

    Java练习2--读取txt文件统计考勤次数并写入一个txt文件中 Java练习2--读取txt文件统计考勤次数并写入一个txt文件中 面向对象的小练习: 文件attendance.txt中的数据为本 ...

  7. 假设有一个字类型的数值arry1,试编写程序统计arry1数值及其后若干数值,在字单元中存储时每个数据中含“1”数据位的个数,并将统计结果保存在res1数组中。数据段的代码定义如下: data seg

    假设有一个字类型的数值arry1,试编写程序统计arry1数值及其后若干数值,在字单元中存储时每个数据中含"1"数据位的个数,并将统计结果保存在res1数组中.数据段的代码定义如下 ...

  8. php 使用dataview,echarts如何优化数据视图dataView中的样式(代码示例)

    本篇文章给大家带来的内容是关于echarts如何优化数据视图dataView中的样式(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在使用echart过程中,toolbo ...

  9. 题目1(15分)对spark1.txt文件进行筛选,将A或者包含A的字母筛选出来并统计个数,然后输出到dome1文件中。

    文件 给予1个文件[spack01.txt]进行数据分析. spack01.txt id 编号 内容 A B C AB A B C A B AB AB AB 代码分析详细版 package com.i ...

最新文章

  1. R语言ggplot2可视化:ggplot2可视化散点图并使用geom_mark_ellipse函数在数据簇或数据分组的数据点周围添加椭圆(ellipse)进行注释(对椭圆包围的区域进行着色为阴影区域)
  2. MIT联合波士顿咨询:全球21个行业,对话3000名高管,AI如何重塑商业形态? | 雷报
  3. 利用JavaScript写猜数字小游戏
  4. 如何在高并下设置Linux系统及kernel参数
  5. 分享录制的几个 Adobe Illustrator 操作的短视频,有声、1-2 分钟一个
  6. 为什么虚拟机上一运行就显示程序停止_五分钟学Java:如何学习Java面试必考的JVM虚拟机||CSDN博文精选...
  7. php常用的日期时间操作
  8. for循环中++i 和 i++ 的区别
  9. Linux Shell脚本编程-语句控制
  10. xamarin.android listview绑定数据及点击事件
  11. 怎么学计算机制作ppt,怎样制作ppt详细步骤(电脑怎么做ppt新手)
  12. w10系统桌面的计算机找不到,w10桌面我的电脑图标不见了怎么办
  13. MAE 论文逐段精读【论文精读】(深度学习论文篇)
  14. 第五次课堂总结——付胤
  15. 3705-26-8,cyclo(Phe-Pro),CYCLO-L-PHENYLALANYL-L-PROLINE,Einecs 223-047-0
  16. 3. 工业大数据的创新价值
  17. 微信java tools_微信工具weixin-java-tools的使用总结
  18. 5.1立体声道如何用Vegas设置
  19. 常见主机漏洞及修复方案
  20. ios 主题切换 思路_一个轻量级的iOS皮肤切换方案(内附Demo)

热门文章

  1. Ubuntu重装与重新分区
  2. Spring 中使用了哪些设计模式?
  3. lamp配置(ubuntu sever)
  4. 测试用例设计方法_因果图法(游戏向)
  5. CentOS配置ip
  6. linux卸载webmin及其配置,安装Webmin管理Linux系统
  7. python字符串处理方法与函数有什么区别_傻傻分不清系列 | Python中各种字符串处理方法...
  8. 100个变态的软件测试面试题及答案!——看完变态面试官对你竖起大拇指!
  9. 玩转Mac终端:Mac 终端常用知识
  10. 聊城大学matlab试题,聊城大学计算机学院11—12学年第2学期期末考试《编译原理》试题(闭卷B卷)...