页面树结构
转至元数据结尾
转至元数据起始

提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。

需求

资源中有线图时,有时候希望以指标轴数据的最小值的百分比作为Y轴的起始值,那要如何实现?

调整前的效果:

调整后的效果:

思路

1)新建客户端宏

2)宏代码如下,设置Y轴起始点


function main(chartView) {
    var echarts = chartView.getChartObject();
    var option = echarts.getOptions(); //获取图形信息,此option已由smartbi系统封装。
    try {
        var serie = option.series[0]; //获取"销售量"的信息
        var data = serie.data; //获取"销售量"的数据
        var min = parseFloat(data[0].value[1]);
        for (var i = 1; i < data.length; i++) {
            if (min > parseFloat(data[i].value[1])) {
                //获取数据的最小值
                min = parseFloat(data[i].value[1]);
            }
        }
        option.yAxis.min = Math.floor(min * 0.8); //按指标轴数据最小值的0.8比例显示
    } catch (e) {
        
    }
}

示例资源:线图或双Y轴调整起始点为最小值.xml