zoukankan      html  css  js  c++  java
  • echars画折线图的一种数据处理方式

    echars画折线图的一种数据处理方式

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="utf-8" />
            <title>echars画折线图的一种数据处理方式</title>
        </head>
        <script src="js/jquery.js"></script>
        <script src="js/echarts.js"></script>
    
        <body>
            <!--默认状态下  x轴显示间隔是跟 div的宽度 width 有关自动调整的-->
            <div id="main" style=" 600px;height:400px;"></div>
        </body>
        <script type="text/javascript">
            /**
             * 这种处理数据方式的好处是:后台只需要把(每条记录)每个对象需要展示的属性封装成一个list数组即可
             * 而不用遍历数据对象集合进行复杂的拼接
             */
            $(function() {
                /*  月份     全国     城市     农村*/
                var seriesData = [
                    ["2018年01月",1,2,3],
                    ["2018年02月",2,2,3],
                    ["2018年03月",5,2,3],
                    ["2018年04月",9,2,3],
                    ["2018年05月",4,2,3],
                    ["2018年06月",3,2,3],
                ];
        
                var title = "中国居民消费价格指数";
                //    console.log("k+1= "+(Number(k)+1));
                var legend = ['全国','城市','农村'];
                //后台拼接好charData对象(只需要把每条记录的时间和要展示成图表的属性一起拼接成 List,
                //再把他们放入一个大List再和legend、title一起封装成charData对象传到前台即可)
                var charData = {
                    "title":title,
                    "legend":legend,
                    "seriesData":seriesData
                };
            
                drawChart(charData);
            });
    
    
            //画折线图
            function drawChart(charData) {
                var title = charData.title;
                var legend = charData.legend;
                var xA = charData.seriesData.map(function (item) {return item[0];});
                
                console.log("xA= "+xA);//xA= 2018年01月,2018年02月,2018年03月,2018年04月,2018年05月,2018年06月
                
                var ss = [];
                //决定画出几条折线
                for(var i=0;i<legend.length;i++){
                    var s = {
                                name: legend[i],
                                type: 'line',
                                data: charData.seriesData.map(function (item) {
                                        return item[i+1];//从seriesData中数组元素的第二个元素角标1的开始拼接数据
                                      }),
                            };
                    ss.push(s);
                }
                console.log("ss= "+JSON.stringify(ss));
        /*        ss= [    {"name":"全国","type":"line","data":[1,2,5,9,4,3]},
                        {"name":"城市","type":"line","data":[2,2,2,2,2,2]},
                        {"name":"农村","type":"line","data":[3,3,3,3,3,3]}]
        */
                var myChart = echarts.init(document.getElementById('main'));
                var option = {
                    
                    title: {
                        text: title
                    },
                    tooltip: {
                        trigger: 'axis'
                    },
                      legend: {
                          y: 'bottom' ,//图例显示在图表底部
                        data: legend/*['全国','城市','农村']*/
                    },
                    
                    xAxis:{
                        data: xA/*data.map(function (item) {
                            return item[0];
                        })*/
                    },
                    yAxis: {
                       type:'value'
                    },
             
                    series: ss
                    /*[
                        {
                            name: '全国',
                            type: 'line',
                            data: data.map(function (item) {
                                    return item[1];
                                  }),
                        },
                        {
                            name: '城市',
                            type: 'line',
                            data: data.map(function (item) {
                                    return item[2];
                                  }),
                        },
                        {
                            name: '农村',
                            type: 'line',
                            data: data.map(function (item) {
                                    return item[3];
                                  }),
                        },
                    
                    ]*/
                };
                myChart.setOption(option);
            }
        </script>
    
    </html>
  • 相关阅读:
    《SQL初学者指南》——第1章 关系型数据库和SQL
    《SQL初学者指南》——第1章 关系型数据库和SQL
    快讯:Oracle自治事务处理数据库发布和19c路线图
    NoReverseMatch: u'polls' is not a registered namespace
    Tomcat配置图片保存路径,图片不保存在项目路径下
    请慎用java的File#renameTo(File)方法
    sentinel monitor mymaster 10.10.17.200 6379 1 1个哨兵同意就切换
    静默错误:Oracle 数据库是如何应对和处理的 ?
    如何对Node.js默认下载路径进行修改
    “我卖一个群可以赚2万,但这个项目,死了!”
  • 原文地址:https://www.cnblogs.com/libin6505/p/9593517.html
Copyright © 2011-2022 走看看