zoukankan      html  css  js  c++  java
  • 项目中应用到的框架和技术之三——echarts

    echarts是效果丰富的图表库,当时考虑怎么炫怎么来就引入了这个库来做图表展示,官网:http://echarts.baidu.com

    项目里用的比较浅,估且一看吧

    代码:

        this.toChart = function () {
    
            var legendData = [];
            var xAxisLegend = [];
            var totalMJData = [];
            var totalXJData = [];
    
            var rows = this.cellList.length;
            for (var i = 0; i < rows; i++) {
    
                if (i < 7 && i != 1)
                    continue;
    
                var cells = this.cellList[i];
    
                if (cells[0] == undefined && i != 1)
                    continue;
    
                var curZQ;
                var mjData = [];
                var xjData = [];
                var cols = cells.length;
                for (var j = 0; j < cols; j++) {
                    var cell = cells[j];
                    if (undefined == cell) {
                        continue;
                    }
    
                    if (i == 1) {
                        legendData.push(cell.text);
                        totalMJData[legendData.length - 1] = [];
                        totalXJData[legendData.length - 1] = [];
                        continue;
                    }
    
                    if (j == 0)
                        curZQ = cell.text;
    
                    if (j < 2)
                        continue;
    
                    var value = 0.0;
                    if (cell.text != "")
                        value = parseFloat(cell.text);
    
                    var index = parseInt((j - 2) / 2);
    
                    if (j % 2 == 0)
                        totalMJData[index][curZQ] = value;
                    else
                        totalXJData[index][curZQ] = value;
                }
    
                if (i != 1)
                    xAxisLegend.push(curZQ);
            }
    
            var seriesData = [];
            for (var i = 0; i < legendData.length; i++) {
    
                var legend = legendData[i];
    
                var mj = [];
                var xj = [];
                for (var j = 0; j < xAxisLegend.length; j++) {
    
                    mj.push(totalMJData[i][xAxisLegend[j]]);
                    xj.push(totalXJData[i][xAxisLegend[j]]);
                }
                var sMJ = {
                    name: legend,
                    type: 'bar',
                    label: {
                        normal: {
                            show: true,
                            position: 'top'
                        }
                    },
                    stack: '面积',
                    data: mj
                };
                seriesData.push(sMJ);
                var sXJ = {
                    name: legend,
                    type: 'bar',
                    label: {
                        normal: {
                            show: true,
                            position: 'top'
                        }
                    },
                    stack: '蓄积',
                    data: xj
                };
                seriesData.push(sXJ);
            }
    
            var myChart = echarts.init(document.getElementById('chart'));
    
            var options = {
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {            // 坐标轴指示器,坐标轴触发有效
                        type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                    }
                },
                legend: {
                    data: legendData
                },
                grid: {
                    left: '2%',
                    right: '3%',
                    bottom: '2%',
                    containLabel: true
                },
                xAxis: [
                    {
                        type: 'category',
                        data: xAxisLegend
                    }
                ],
                yAxis: [
                    {
                        type: 'value'
                    }
                ],
                series: seriesData
            };
            myChart.setOption(options);
        }
  • 相关阅读:
    算法7-9:有向图搜索算法
    STM32W108无线传感器网络节点自组织与移动智能体导航技术
    no matching provisioning profiles found
    数组处理函数
    字符串相关函数整理
    [Other]来做一个微信打印机吧 -- 微信打印的设计思路參考
    [WF4.0 实战] 事件驱动应用
    OpenCV——RGB三通道分离
    泛型的使用
    JDBC使用步骤
  • 原文地址:https://www.cnblogs.com/conorpai/p/6595804.html
Copyright © 2011-2022 走看看