echarts变量-echarts中回归统计的实现

2023-08-26 0 1,733 百度已收录

在做数据统计时,不可避免地会涉及到线性拟合问题,即回归统计问题。

我们来看看回归算法是如何将数据分析与echarts图表结合起来的。

这里我们需要用到echarts的扩展库:echarts-stat.js

ecStat 是 ECharts 的统计和数据挖掘工具。 您可以将其用作工具库,直接分析数据; 您还可以与ECharts结合使用,将ECharts的数据分析结果可视化。

1、如何使用?

1.1 使用npm安装

执行订单:

npm install echarts-stat -S

1.2 直接导入


1.3d调用方法

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

1.4 参数说明

回归类型:回归类型(String)echarts变量,有四种回归算法类型:'线性','指数','对数','多项式'。

data:要统计的数据是一个二维字段(Array),一维字段值分别代表自变量和因变量的值。 例如:

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

order:方程的阶数(数字)。 对于非方程回归,可以忽略该参数。

1.5 返回值说明

myRegression:返回一个对象。 包括用于绘制折线图的拟合数据点、回归曲线的参数参数、拟合曲线表达式等。 如下:

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

echarts变量-echarts中回归统计的实现

2.echarts中回归算法的类型

回归算法根据原始输入数据集中自变量和因变量的值拟合一条曲线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]
]
    // 引入echarts
    import echarts from 'echarts'
    // 引入 echarts 拓展回归统计 echarts-stat
    let 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);

echarts变量-echarts中回归统计的实现

线性回归疗效图

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);

看起来四回归的效果不是很好?

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 echarts echarts变量-echarts中回归统计的实现 https://www.wkzy.net/game/151695.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务