首页 > 解决方案 > 即使数据发生变化,如何修复 y=0 轴的垂直位置(数据将为负数)

问题描述

在列高图中,每当我更改值时出现负值时,y = 0 轴向上或向下移动,但我想将 y = 0 轴的位置固定在中间并希望相应地增加列高

标签: highcharts

解决方案


您可以使用tickPositioner函数创建轴的镜像,并在中间始终具有零值:

yAxis: {
    tickPositioner: function() {
        var defaultTicks = this.tickPositions,
            isMorePositive = Math.abs(defaultTicks[0]) <
                defaultTicks[defaultTicks.length - 1],
            tickPositions = [];

        defaultTicks.forEach(function(el) {
            if (isMorePositive ? (el > 0) : (el < 0)) {
                tickPositions.push(el);
                tickPositions.push(-el);
            } else if (el === 0) {
                tickPositions.push(el);
            }
        });

        return tickPositions.sort(function(a, b) {
            return a - b
        });
    }
}

现场演示:http: //jsfiddle.net/BlackLabel/o97Lmdqa/

API 参考: https ://api.highcharts.com/highstock/yAxis.tickPositioner


推荐阅读