удалить серию по имени или идентификатору в highcharts

есть ли в любом случае, чтобы удалить серию по имени или идентификатору? Я имею в виду, что можно удалить серию по this.remove()

или

var seriesLength = chart.series.length;
for(var i = seriesLength - 1; i > -1; i--) {
    chart.series[i].remove();
}

но по названию скажу, series_name.remove() это возможно?

5 ответов


Ок, я нашел его сам. Я отправляю имя серии в скрытое поле div, и когда я нажимаю кнопку удаления, я проверяю, соответствует ли имя среди серии, и если совпадение найдено, я удаляю его.

var chart = $('#container').highcharts();
                var seriesLength = chart.series.length;
                for(var i = seriesLength - 1; i > -1; i--)
                {
                    //chart.series[i].remove();
                    if(chart.series[i].name ==document.getElementById("series_name").value)
                        chart.series[i].remove();
                }

Ну, я не знаю, если в то время это было возможно, но теперь у вас есть


Это требует большей видимости, потому что это довольно janky. Вероятно, вы могли бы просто повторить серию и проверить .имя против вашего "переданного имени" вместо сканирования документа для "series_name".

там действительно должна быть диаграмма.удалить (серия) (не только индекс, потому что индексы переназначаются после удаления одного).


эти два простых решения работают для меня.

UPDATE: я понял, что неправильно понял вопрос. Эти решения удаляют все ledends.

скрыть его с помощью jQuery

$(function () {
  // Build the chart.
  $('#volume_pie_chart').highcharts({
      // Some configuration code...
    })

    // Hide the legend.
    $('.highcharts-legend').hide()
});

расположите легенду так, чтобы мы ее не видели

...
},
legend: {
    x: 9999, // Make the legend invisible.
    y: 9999
},
...

HighCharts 6.х.х

Вы можете получить объект серии по Id, используя Chart::get метод. Вот ссылка на документацию - https://api.highcharts.com/class-reference/Highcharts.Chart#get

и серии remove метод удаления ряда из диаграммы -https://api.highcharts.com/class-reference/Highcharts.Series#remove