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

标签 javascript highcharts zooming

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

我当前的解决方案是手动计算tickPositions,以便它准确显示我设置的内容。所以在某种程度上,我事先就知道他们的值(value)观。问题是当我放大时,没有为放大界面添加新的刻度。其原因是因为 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

关于javascript - 在 Highcharts 中手动设置 y 轴最小值和最大值以及放大行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57651851/

相关文章:

jquery - 在窗口调整大小时删除 Highchart 数据标签

javascript - Highchart 刻度间隔

html - 使用缩放渲染表格时出现 Chrome 错误

javascript - 我可以使用 JavaScript 矢量艺术进行 1000% 缩放吗?

javascript - javascript中indexOf的问题

javascript - 如何在 JavaScript 中将值从一个 html 页面传递到另一个 html 页面?

javascript - 如何在 javascript 变量中传递多个文本框值?

javascript - ffmpeg 退出,代码为 1 : Error reinitializing filters! 无法将帧注入(inject)过滤器网络:参数无效

javascript - 仅显示 Highcharts 中使用过的刻度

javascript - d3 v7 中的简单平移和缩放