• ECharts循环push数据到series,从而实现series的动态处理之(一)(先用给定数据,后期用后端返回数据)


    由于工作中要用到基于ECharts的大屏可视化数据展示,下方为自己先用静态数据进行的可视化效果图一角,逐步完善中......,后续会基于Python的Flask框架以及ajax传输数据,包括筛选各种条件后的数据对图形进行异步无刷新改变。。。。。。

    嘻嘻,2年没有敲代码了,部分代码有进行算法练习,勿见怪哦......

    效果图一角:

    代码如下:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>第一个 ECharts 实例</title>
        <!-- 引入 echarts.js -->
        <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
    </head>
    <body>
        <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
        <div id="main" style=" 600px;height:400px;"></div>
        <script type="text/javascript">
            // 基于准备好的dom,初始化echarts实例
            var myChart = echarts.init(document.getElementById('main'));
            var data = [
                    ['x轴', '60px','101npx','178xpx','289ypx'], 
                    ['西南航空', 60,101,178,289], 
                    ['国泰航空', 120,180,190,303], 
                    ['东方航空', 90,92,97,103]
                ]
            console.log("我是源数据1data=====》",data)
    
            /***
             *  @注意
             *  @以下纯属练习处理数据(原因2年没敲代码了,练习下,嘻嘻)
             */
            var newAarry = []
            for(var i=0;i<data.length;i++){
                if(i!=0){
                    newAarry.push(data[i][0])
                }
            }
            console.log("我是图例=====》",newAarry) //打印结果是 ['西南航空', '国泰航空', '东方航空']
    
            var newData = [] 
            console.log("我是源数据2data=====》",data)
            for(var j=0;j<data.length;j++){
                var news = data[j].slice(1)
                //console.log("我是循环中的数据news=====》",news)
                newData.push(news)
            }
            console.log("我是处理后的数据newData=====》",newData)
            /***
             *  @注意
             *  @以下是有用数据,上方数据处理纯属练习处理数据(原因2年没敲代码了,练习下,嘻嘻)
             */
            //循环往series里push数据
            var series1 = []
            var countMax = 0
            for(var key in data){
                console.log(data[key])
                if(key!=0){
                    //去除第一行
                    series1.push(
                        {
                            name:data[key][0],//图例
                            type:'line',//折线 bar 饼状
                            data:data[key].splice(1)
                        }
                    )
                }
                
                countMax++;
            }
            console.log("我是动态的series=====》",series1)
            // 指定图表的配置项和数据
            var option = {
                title:{text:'我是折线图'},
                //图例
                legend: {
                    orient:'vertical',
                    x:'right',
                    y:'center',
                    itemGap:25,
                },
                tooltip: {},
                //dataset:{ source:newData},
                // 声明一个 X 轴,类目轴(category)。默认情况下,类目轴对应到 dataset 第一列。
                xAxis: {
                    type: 'category',
                    data: data[0].slice(1) //将x轴设定为对象数据第一列(去除第一个元素)
                },
                // 声明一个 Y 轴,数值轴。
                yAxis: {},
                // 声明多个 bar 系列,默认情况下,每个系列会自动对应到 dataset 的每一列。
                series: series1
            };
           
            // 使用刚指定的配置项和数据显示图表。
            myChart.setOption(option);
        </script>
    </body>
    </html>
    

     当然了,工作中的数据比这个复杂多了,这只是第一步已经完成了,going......

  • 相关阅读:
    用数据管理过程(2)——通过经验值管理项目
    用数据管理过程(3)——可预测级别的量化管理(麦当劳的管理方式)
    JMeter对Oracle数据库进行压力测试
    [置顶] Linux下的截图小工具
    [互联网面试笔试汇总C/C++-7] 寻找两个链表的第一个交点-微策略
    使用 OpenSSL API 进行安全编程
    带外数据的接收与发送
    oracle本月、上月、去年同月第一天最后一天
    mysql查看权限的命令
    php的一个验证邮箱的正则表达式
  • 原文地址:https://www.cnblogs.com/zmdComeOn/p/15914377.html
Copyright © 2020-2023  润新知