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="width: 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......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM