zoukankan      html  css  js  c++  java
  • Echarts 动态数据图表使用

    Echarts 纯JS 图形报表控件,具体 请自行百度,此处 在项目中使用到的一个 动态Chart图的实现。

    以 动态获取 CPU使用情况为例,通过Aajx 请求获取数据, 服务端 返回 数值即可。

    官方DEMO:http://echarts.baidu.com/demo.html#dynamic-data

    第一步:下载 Echart.min.js

    第二步:把文件复制到项目Scripts 文件夹中

    第三步:新建一个测试页面

    第四步: 看代码

    前端:

    Html:
    <script type="text/javascript" src="../../Scripts/echarts.min.js"></script> <div>
    <div id="Cpumain" style="800px;height:500px;">//图表容器 </div>
    </div>

    Js:
    function CpuChart() {
            var dom = document.getElementById("Cpumain");
        var myChart = echarts.init(dom);
        var app = {};
        option = null;
        option = {
            title: {
                text: 'CPU使用情况',
                subtext: '服务器:' + ip
            },
            tooltip: {
                trigger: 'axis'
            },
            legend: {
                data: ['CPU占用率']
            },
            toolbox: {
                show: true,
                feature: {
                    dataView: { readOnly: false },
                    restore: {},
                    saveAsImage: {}
                }
            },
            dataZoom: {
                show: false,
                start: 0,
                end: 100
            },
            xAxis: [
                {
                    type: 'category',
                    boundaryGap: true,
                    data: (function () {
                        var now = new Date();
                        var res = [];
                        var len = 10;
                        while (len--) {
                            res.unshift(now.toLocaleTimeString().replace(/^D*/, ''));
                            now = new Date(now - 2000);
                        }
                        return res;
                    })()
                },
                {
                    type: 'category',
                    boundaryGap: true,
                    data: (function () {
                        var res = [];
                        var len = 10;
                        while (len--) {
                            //res.push(len + 1);
                        }
                        return res;
                    })()
                }
            ],
            yAxis: [
                {
                    type: 'value',
                    scale: true,
                    name: '占用率',
                    max: 100,
                    min: 0,
                    boundaryGap: [0.2, 0.2]
                }
            ],
            series: [
     
                {
                    name: '占用率',
                    type: 'line',
                    data: (function () {
                        var res = [];
                        var len = 0;
                        while (len < 5) {
                            res.push((Math.random() * 10 + 5).toFixed(1) - 0);
                            len++;
                        }
                        return res;
                    })()
                }
            ]
        };
        clearInterval(app.timeTicket);
        app.count = 11;
        app.timeTicket = setInterval(function () {
            axisData = (new Date()).toLocaleTimeString().replace(/^D*/, '');
            $.ajax({
                url: // 请求地址 ,
                type: 'post',
                data: { Ip: ip },
                success: function (msg) {
                    var data0 = option.series[0].data;
                    var datas = msg.split('|');
                    if (datas[0] == "-1") {
                        data0.shift();
                        data0.push(-1);
                    }
                    else {
                        data0.shift();
                        data0.push(datas[1]);
                    }
     
     
     
                }
     
            })
            option.xAxis[0].data.shift();
            option.xAxis[0].data.push(axisData);
            myChart.setOption(option);
        }, 2100);
        ;
        if (option && typeof option === "object") {
            var startTime = +new Date();
            myChart.setOption(option, true);
            var endTime = +new Date();
            var updateTime = endTime - startTime;
            // console.log("Time used:", updateTime);
        }
    }


    完整的例子如果需要 请留言。



  • 相关阅读:
    浏览器 显示一个对话框,对话框中包含一条文字信息,用来提示用户输入文字。window.prompt()
    JS字符串转换为JSON对象的四种方法
    js中 json对象与json字符串相互转换的几种方式 $.parseJSON(jsonStr)json字符串转换为json对象
    C#变量命名规则(命名规范)
    C#中AppDomain.CurrentDomain.BaseDirectory(获取程序的基目录)及各种路径获取方法
    C# 的 Path.GetFileName、Path.GetExtension、Path.GetDirectoryName千一网络 http://www.itpow.com/
    js计算两个时间相差天数,获取时间的毫秒数之差
    C#将DataTable转化为List<T>
    https://www.cnblogs.com/sizhizhiyue/p/4820973.html asp.net后台导出excel的方法一:使用response导出excel
    .NET调用AS/400上的程序(.NET CALL AS/400 PGM)
  • 原文地址:https://www.cnblogs.com/BungeeJumping/p/5556888.html
Copyright © 2011-2022 走看看