Javascript HighStock图中单击rangeSelector时的阈值更改
我需要更改HighStock图中单击rangeSelector时的阈值。 此外,我还需要更改y轴绘制线内的线值 我尝试了以下代码Javascript HighStock图中单击rangeSelector时的阈值更改,javascript,jquery,highcharts,highstock,Javascript,Jquery,Highcharts,Highstock,我需要更改HighStock图中单击rangeSelector时的阈值。 此外,我还需要更改y轴绘制线内的线值 我尝试了以下代码 xAxis: { events:{ setExtremes: function(e) { if (e.trigger == "rangeSelectorButton" &&
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;
}
},
}
},
对于JSIDLE链接
我已经做了一些警告测试,点击rangeSelector可以正常工作。
我试图更改值,但图表没有更新
任何帮助都将不胜感激 在setExtremes中,
此
引用xAxis
对象。threshold
位于series
对象上,因此需要获取对正确序列的引用
var series = this.chart.series[0];
然后,您需要用新值更新它
series.update({threshold: threshold}, false);
我将为重画
参数传递false
,因为我们还将更新绘图线
,我们只想重画一次
对于绘图线
,需要对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'
}
}]
});
非常感谢,芭芭拉!非常感谢你的回答,尤其是你的回答方式。我意识到,我应该更符合逻辑,同时每次都应用chages来让它工作。谢谢你的帮助