gpt4 book ai didi

javascript - 单击 HighStock 图表中的 rangeSelector 时阈值发生变化

转载 作者:行者123 更新时间:2023-12-03 03:59:40 26 4
gpt4 key购买 nike

我需要在单击 HighStock 图表中的 rangeSelector 时更改阈值。另外,我需要更改 y 轴 PlotLines 内的线值。

我尝试了以下代码

xAxis: {    
events:{
setExtremes: function(e) {
if (e.trigger == "rangeSelectorButton" &&
e.rangeSelectorButton.text == "1m"){
// this.threshold = 20;
alert("on click of 1m range selector");
// for threshold value
this.threshold=20;
this.series[0].plotOptions.threshold=20;
this.plotOptions[0].series[0].threshold=20;
this.rangeSelector.clickButton(0, true);
// for changing the line value of plotLines
this.yAxis[0].plotLines[0].value=20;

}
},
}
},

Click here jsfiddle 链接

我已经设置了一些警报来测试单击 rangeSelector 是否工作正常。我尝试更改值,但图表未更新。

任何帮助将不胜感激。

最佳答案

在 setExtremes 内部,this 引用 xAxis 对象。 threshold 位于 series 对象上,因此您需要获取对正确系列的引用。

var series = this.chart.series[0];

然后,您需要使用新值更新它。

series.update({threshold: threshold}, false);

我为 redraw 参数传递 false,因为我们还将更新 plotLine,而且我们只会想重画一次。

对于 plotLine,您需要对 yAxis 的引用。

var yAxis = this.chart.yAxis[0];

然后,您需要将新的 plotLine 设置传递给 update 方法。

 yAxis.update({
plotLines: [{
value: threshold,
color: 'green',
dashStyle: 'shortdash',
width: 2,
label: {
text: 'Last quarter minimum'
}
}]
});

https://jsfiddle.net/w6bzohgd/3/

关于javascript - 单击 HighStock 图表中的 rangeSelector 时阈值发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44782957/

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