我已经实施了一条显示所有值的平均值的情节线:
"yAxis": {
plotLines: [{
color: 'red',
value: 22,
width: '1',
label: {
text: 'Average: 22'
}
}]
},
我想更改legendItemClick的平均值。是否可以以编程方式更改一些plotLine属性?
到目前为止我尝试的是:
plotOptions: {
series: {
events: {
legendItemClick: function (event) {
var average = 15;
event.target.chart.userOptions.yAxis.plotLines[0].value = average;
event.target.chart.userOptions.yAxis.plotLines[0].label.text = 'Average: ' + average;
}
},
}
},
图表中的值和标签文字没有变化。我也尝试redraw the chart,但它仍然没有改变情节线。有没有办法实现这个目标?
答案 0 :(得分:0)
我现在已经找到了一个可接受的答案来回答我自己的问题:
var average = 15;
event.target.chart.yAxis[0].removePlotLine('average');
event.target.chart.yAxis[0].addPlotLine({
id: 'average',
color: 'red',
width: 1,
value: average,
zIndex: 200,
label: {
text: 'Average: ' + average
}
});
我必须为plotLine指定一个ID,销毁它并创建一个新的。