Таблицы данных Highcharts включены для одной серии и одной точки на графике с помощью функции графика - PullRequest
0 голосов
/ 18 мая 2018

Одна точка на моей пузырьковой диаграмме, для которой я хочу включить dataLabels.Это самая высокая ценность в моей серии.В конце кода моей диаграммы у меня есть функция, которую я использовал для обработки некоторых состояний точек, но таблицы данных не работают, и я не могу найти пример того, как его включить.

function(chart) {
  chart.series[0].data[1].setState('select');
  chart.series[0].data[1].dataLabels().enabled = true;
}

Итак, первый работает (setState), никаких проблем там нет (поэтому я знаю, что я близко), но второй не работает.

К вашему сведению, серия и точка данных никогда не изменятся по сравнению с серией 0и точка данных 1. Так что на этот раз мне не нужно многоразовое исправление.

1 Ответ

0 голосов
/ 18 мая 2018

Вам не нужно использовать функцию обратного вызова, чтобы сделать это.Вместо этого вам просто нужно определить функцию series.dataLabels.formatter для конкретной серии.Я подготовил пример, где функция formatter возвращает метку данных только для самого высокого значения серии.Вот код:

series: [{
    name: 'Series 1',
    data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
    dataLabels: {
        enabled: true,
        formatter: function() {     
             var highest = Math.max.apply(null, this.series.yData)
             return this.y === highest ? highest : ''
        }
    }
}

Вы можете увидеть, как это работает на этом примере: https://jsfiddle.net/upLpj0tk/

Справочник по API: https://api.highcharts.com/highcharts/series.line.dataLabels.formatter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...