Cuando hice clic en la leyenda, los parámetros de plotBands hide() y show() no funcionan.
Desearía poder hacer clic en la leyenda y eliminar una PlotBand específica.
Intenté usar destroy() pero limpia el dom html y no puedo regresar con PlotBand cuando hago clic en la leyenda nuevamente.
No pude encontrar cómo quitar y volver a poner PlotBand:
var a = 1, b = 2, c = 4, d = 5, dados = [[a, b, '#32CD32','manutenção','Mantuenção'], [c, d, '#FF0000','falha','Falha']]; Highcharts.chart('container', { chart: { zoomType: 'xy', }, showInLegend: true, title: { text: 'Zoom Geral e Barras Verticais' }, yAxis: { scrollbar: { enabled: true, showFull: false } }, plotOptions: { series: { shadow:false, borderWidth:0, events:{ legendItemClick:function(e){ console.log(this.userOptions) var ids = this.userOptions['id']; console.log(ids) if(this.userOptions['id'] === ids){ var hides = this.xAxis.plotLinesAndBands.filter(id => id.id == ids); if(this.visible == true){ hides[0].svgElem.hide() } else { hides[0].svgElem.show() } } } } } }, series: [{ name:'Série A', data: [-10, 31, 35, 40, 15, 10] } ] }, function(){ for (let i = 0; i < dados.length; i++ ){ this.xAxis[0].addPlotBand({ from: dados[i][0], to: dados[i][1], color: dados[i][2], name: dados[i][4], id: dados[i][3] }, ) this.addSeries({ marker: { symbol: 'square', radius: 20}, name: dados[i][4], color: dados[i][2], type: 'scatter', id: dados[i][3] }, ) } } )Las bandas de la trama no se ocultan porque el gráfico se vuelve a dibujar después del evento. Puede devolver falso desde la función de devolución de llamada, pero todas las bandas de la trama serán visibles después de otro redibujado. Ejemplo: http://jsfiddle.net/BlackLabel/m2xrjhLk/
Le recomiendo que elimine/agregue la banda de la trama al hacer clic en la leyenda:
plotOptions: { series: { ..., events: { legendItemClick: function(e) { var id = this.options.id; if (this.visible) { this.xAxis.removePlotBand(id); } else { this.xAxis.addPlotBand(plotBands.find( plotBand => plotBand.id === id )); } } } } }Demostración en vivo: http://jsfiddle.net/BlackLabel/n1jgew27/