页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。
评论: 没有数据会报错,修改宏代码

...

  • 宏代码

  • 代码块
    languagejs
    linenumberstrue
    function main(chartView) {
        var chart = chartView.getChartObject();
        var option = chart.getOptions();
        var series = option.series;
    	if(!series){
    		return;
    	}
        var showDataIndex = 0; // 要显示的数据在第一行,所以为0,如果数据在第二行,此处应为1
        for (var i = 0, len = series.length; i < len; i++) {
            var seriesItem = series[i];
            var labelNormal = seriesItem.label && seriesItem.label.normal;
            if (labelNormal) {
                seriesItem.avoidLabelOverlap = false;
                labelNormal.show = true;
                labelNormal.position = 'center';
                labelNormal.textStyle = {
                        color: '#000000', //设置标签显示颜色
                        fontSize: 20 //设置标签字体大小
                    },
                    labelNormal.formatter = function(params) {
                        debugger;
                        var dataIndex = params.dataIndex;
                        if (dataIndex == showDataIndex) {
                            return params.percent + '%'; //设置标签内容,params.percent可以获取到数据的占比,params,value可以获取到数据的值
                        } else {
                            return '';
                        }
                    };
            }
        }
    }

...

  • 宏代码

  • 代码块
    languagejs
    linenumberstrue
    function main(chartView) {
        var echarts = chartView.getChartObject();
        var option = echarts.getOptions();
    	if(!option.series){
    		return;
    	}
        var Vdata = option.series[0].data[0].value;
        //通过增加一个圆环来实现中心的文字,中心的文字显示的是"合计:数值的合计值"
        var obj = {};
        obj.data = [1];
        obj.type = 'pie';
    
        obj.radius = ['0%', '40%'];
        obj.avoidLabelOverlap = true;
        obj.tooltip = {
            show: false
        }
        obj.itemStyle = {
            normal: {
                color: '#FFFFFF'    //设置圆的颜色
            }
        }
        obj.label = {
            normal: {
                show: true,
                position: 'center',
                formatter: '' + Vdata * 100 + '%',  //设置数据标签显示的内容
                textStyle: {
                    fontSize: 20,       //设置标签字体大小
                    color: '#000000'    //设置标签字体颜色
                }
            }
        };
        option.series.push(obj);
        var pie = echarts.getChart();
        pie.setOption(option);
        var option2 = pie.getOption();
    }

...

  • 宏类型

  • 类型对象事件
    客户端模块ChartafterRender

     

     

  • 宏代码

  • 代码块
    languagejs
    linenumberstrue
    function main(chartView) {
        var echarts = chartView.getChartObject();
        var option = echarts.getOptions();
    	if(!option.series){
    		return;
    	}
        var sum = getSum(option.series[0].data);    //计算合计值
        //通过增加一个圆环来实现中心的文字,中心的文字显示的是"合计:数值的合计值"
        var obj = {};
        obj.data = [1];
        obj.type = 'pie';
    
        obj.radius = ['0%', '40%'];
        obj.avoidLabelOverlap = true;
        obj.tooltip = {
            show: false
        }
        obj.itemStyle = {
            normal: {
                color: '#7D94A6' //设置圆的颜色
            }
        }
        obj.label = {
            normal: {
                show: true,
                position: 'center',
                formatter: '合计:' + sum, //设置数据标签显示 合计:要显示的数值,需要修改这里
                textStyle: {
                    fontSize: 12,   //设置标签字体大小
                    color: '#FFF'    //设置标签字体颜色
                }
            }
        };
        option.series.push(obj);
        var pie = echarts.getChart();
        pie.setOption(option);
        var option2 = pie.getOption();
    }
    
    //获取合计值。需要修改这里。
    function getSum(data) {
        var sum = 0;
        for (var i = 0; i < data.length; i++) {
            sum += data[i].value;
        }
        return sum;
    }

...