Установите разные средства форматирования всплывающих подсказок для каждого уровня солнечных лучей - Highcharts

Я создал диаграмму солнечных лучей с высокими картами. Я установил config объект, данный Highcharts.chart('type', config) в питоне. Я хочу иметь одну отдельную подсказку для каждого уровня диаграммы солнечных лучей.

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

Есть ли highcharts функция, чтобы получить уровень точки или определить всплывающую подсказку в series.levels[]?

2 ответа

Решение

Вы можете получить это на основе среза level имущество. Вы можете сделать что-то вроде:

tooltip: {
    formatter: function () {
        console.log(this); // see what each slice's properties are
        if (this.point.node.level == 4) {
            return 'Population of <b>' + this.point.options.name +
                   '</b> is <b>' + this.point.options.value + '</b>';
        } else {
            return 'Level <b>' + this.point.node.level + '</b> has no tooltip';
        }
    }
}

Пример jsFiddle

Спасибо тебе за твой ответ. На самом деле, что мне помогает, так это console.log(this)! Не знаю почему но this относится непосредственно к точке в моем коде. И поскольку я пишу код на python, мне нужно отформатировать функцию js в строку python, это довольно сложно. Итак, я закончил что-то вроде:

config['tooltip']['pointFormatter'] = (
      "function(){"
      "var level = this.node.level;"
      "return"
     f" {myValues}[level] + '<span style=\"text-transform: uppercase;font-weight:bold\">{myPythonVar}:</span> '"
      f"+  {myJsFormatter}.call(this) + '<br>'"
      "}"
      )

Он смешивает Python и JS, его трудно читать, но в моем случае это необходимо.

Другие вопросы по тегам