注意:示例仅供参考,若是实际场景和示例需求场景有所差别,有可能需要自行调整宏代码。

需求

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

调整前的效果:

调整后的效果:

思路

1)新建客户端宏

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

 

function main(chartView) {
    var echarts = chartView.getChartObject();
    var option = echarts.getOptions(); //此option已由smartbi系统封装。
    try {
        debugger;
        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) {}
}