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

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

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

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

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Спасибо за ваш ответ. На самом деле, что мне помогает, это 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, его трудно читать, но в моем случае это необходимо.

0 голосов
/ 29 августа 2018

Вы можете получить это на основе свойства 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

...