在 Highcharts 中手动设置 y 轴最小值和最大值以及放大行为

Manually set y-axis min and max value and zoom-in behaviour in Highcharts

我想知道在给定 minValue、maxValue 和 tickAmount 渲染之前,Highcharts 将在每个轴上设置的舍入最小值和最大值。

我目前的解决方案是手动计算 tickPositions,以便它准确显示我设置的内容。所以在某种程度上,我事先知道它们的价值。这个问题是当我放大时,没有为放大界面添加新的刻度。这是因为 tickPositions 属性阻止了它添加新的报价。

我有两个问题: - Highcharts 是否提供任何方法来计算最小值和最大值?这样我就可以事先得到那些。 - 或者是否有 Highcharts 遵循的算法来计算这些值?我将再次实施该算法以获得这些值? - 或者有没有办法自己手动实现添加新报价行为?这是为了使用 tickPositions。

您可以使用tickPositioner函数来定义您自己的绘制刻度的逻辑:

yAxis: {
    tickPositioner: function(min, max) {
        if (this.chart.resetZoomButton) { // zoomed chart
            return [1, 7]
        }

        return [1, 3, 5, 7]
    }
}

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

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