ECharts显示百分比(小数转百分比)

后台数据传递给前端是小数格式,例如:0.2248 

前端显示要求为:22.48%

方法,设置tooltip.formatter和yAxis.axisLabel.formatter,两个分别是提示语格式化和Y轴标签格式化。

示例:

//初始化echart
        var myChart = echarts.init(document.getElementById('chartArea'));

//初始配置
var option = {
            title: {
                text: ''
            },
            tooltip: {
                formatter:null
            },
            legend: {
                data:['新增用户数']
            },
            grid: {
                left: '3%',
                right: '4%',
                bottom: '4%',
                containLabel: true
            },
            toolbox: {
                feature: {
                    saveAsImage: {}
                }
            },
            xAxis: {
                axisLabel:{
                    interval:0,
                    rotate:0
                },
                boundaryGap: false,
                data: []
            },
            yAxis: {
                axisLabel:{
                    formatter:null
                }
            },
            series: []
        };

//查询数据后,更新配置
option.xAxis.data = chartData.xAxisData;
option.legend.data = chartData.legends[0];
option.series = chartData.series[0];
var dataFormat = chartData.dataFormats[0];
if(dataFormat == 'normal'){
        option.yAxis.axisLabel.formatter = null;
        option.tooltip.formatter = null;
}else if(dataFormat == 'percentage'){
        option.yAxis.axisLabel.formatter = function(value,index){
               return (value*100).toFixed(2)+'%';
        };
        option.tooltip.formatter = function (params) {
               return (params.value*100).toFixed(2)+'%';
        };
}
myChart.setOption(option,true);

 另外,如果图上显示了数值,则也需要格式化。格式化方法如下:

//4.x版本
option.series.label.formatter = function (params) {
                    return (params.value*100).toFixed(2)+'%';
                };

//3.x版本
option.series.label.normal.formatter = function (params) {
                    return (params.value*100).toFixed(2)+'%';
                };

//2.x版本
 option.series.itemStyle.normal.label.formatter = function (params) {
                    return (params.value*100).toFixed(2)+'%';
                };

 

posted @ 2018-05-28 11:37  追极  阅读(25436)  评论(0编辑  收藏  举报