gpt4 book ai didi

javascript - 将 highcharts yAxis.tickPositioner 回调函数移至某个 util 函数之外

转载 作者:行者123 更新时间:2023-12-02 21:03:47 29 4
gpt4 key购买 nike

我正在尝试实现具有多个 y 轴的 highcharts,并且需要为每个 y 轴设置 yAxis.tickPositioner 回调函数。因此,我不需要在每个回调中编写重复的代码,而是需要创建一个 util 函数,我可以向该函数传递 dataMin 和 dataMax 等值,这些值只能在 tickPositioner 回调函数中访问。

chartOptions {
xAxis: {
tickPositions: [0, 1, 2, 4, 8]
},

yAxis: {
tickPositioner: function () {
var positions = [],
tick = Math.floor(this.dataMin),
increment = Math.ceil((this.dataMax - this.dataMin) / 6);

if (this.dataMax !== null && this.dataMin !== null) {
for (tick; tick - increment <= this.dataMax; tick += increment) {
positions.push(tick);
}
}
return positions;
}
},
}

相反,我想要这样的东西,它具有 util 函数中可用的所有值,如 this.dataMin 和 this.dataMax

    chartOptions {
xAxis: {
tickPositions: [0, 1, 2, 4, 8]
},

yAxis: {
tickPositioner: this.utilFunction();
},
}

utilFunction() {
var positions = [],
tick = Math.floor(this.dataMin),
increment = Math.ceil((this.dataMax - this.dataMin) / 6);

if (this.dataMax !== null && this.dataMin !== null) {
for (tick; tick - increment <= this.dataMax; tick += increment) {
positions.push(tick);
}
}
return positions;
}

最佳答案

如果您以这种方式分配轴,则可以通过 utilFunction 中的 this 访问轴:

yAxis: {
tickPositioner: this.utilFunction
}

现场演示: http://jsfiddle.net/BlackLabel/6m4e8x0y/4958/

<小时/>

如果您需要在函数中使用其他上下文,您可以通过参数传递所需的值:

yAxis: {
tickPositioner: function() {
utilFunction(this.dataMin, this.dataMax);
}
}

现场演示: http://jsfiddle.net/BlackLabel/6m4e8x0y/4959/

关于javascript - 将 highcharts yAxis.tickPositioner 回调函数移至某个 util 函数之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61274689/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com