Javascript 任何可能给出绘图带和绘图线高图表图例的方法
我需要为样条曲线图表中的绘图条带指定单个图例项,为绘图线指定多个图例项。请参阅此示例:Javascript 任何可能给出绘图带和绘图线高图表图例的方法,javascript,highcharts,Javascript,Highcharts,我需要为样条曲线图表中的绘图条带指定单个图例项,为绘图线指定多个图例项。请参阅此示例: 最简单的解决方案是创建额外的空系列,该系列将以编程方式与legendItemClick中的plotLines和plotBands关联功能: plotOptions: { ..., series: { allowPointSelect: false, events: { legendItemClick: function() {
最简单的解决方案是创建额外的空系列,该系列将以编程方式与
legendItemClick中的plotLines
和plotBands
关联功能:
plotOptions: {
...,
series: {
allowPointSelect: false,
events: {
legendItemClick: function() {
var newPlotLines = [],
xAxis = this.chart.xAxis[0],
plotLinesIndex;
if (this.name === 'plot bands') {
if (this.visible) {
xAxis.update({
plotBands: []
});
} else {
xAxis.update({
plotBands: plotBands
});
}
} else if (H.isNumber(this.options.plotLinesIndex)) {
this.chart.series.forEach(function(s) {
plotLinesIndex = s.options.plotLinesIndex;
if (this !== s && H.isNumber(plotLinesIndex)) {
if (s.visible) {
newPlotLines.push(plotLines[plotLinesIndex])
}
} else if (this === s && !s.visible) {
newPlotLines.push(plotLines[plotLinesIndex])
}
}, this);
xAxis.update({
plotLines: newPlotLines
});
}
}
}
}
}
现场演示:
API参考:或任何可能给出绘图带和绘图线高度图图例的方法。
plotOptions: {
...,
series: {
allowPointSelect: false,
events: {
legendItemClick: function() {
var newPlotLines = [],
xAxis = this.chart.xAxis[0],
plotLinesIndex;
if (this.name === 'plot bands') {
if (this.visible) {
xAxis.update({
plotBands: []
});
} else {
xAxis.update({
plotBands: plotBands
});
}
} else if (H.isNumber(this.options.plotLinesIndex)) {
this.chart.series.forEach(function(s) {
plotLinesIndex = s.options.plotLinesIndex;
if (this !== s && H.isNumber(plotLinesIndex)) {
if (s.visible) {
newPlotLines.push(plotLines[plotLinesIndex])
}
} else if (this === s && !s.visible) {
newPlotLines.push(plotLines[plotLinesIndex])
}
}, this);
xAxis.update({
plotLines: newPlotLines
});
}
}
}
}
}