Могу ли я использовать два разных форматирования для всплывающих подсказок?

У меня есть таблица с большими номерами с двумя сериями данных, в которых используются именованные значения. В моих подсказках для одной серии я хочу ссылаться на точку данных из серии. Итак, решение в этом ответе: Как использовать другой форматтер на Highcharts в каждой кривой одной и той же графикой? не помогает мне. Мне нужно больше, чем просто tooltipText, мне нужен форматтер:

Для одного:

formatter: function() {
    return this.x + ': ' + this.series.name +
    '<br> $' + Highcharts.numberFormat(this.y, 0);
     }

А для другого:

formatter: function() {
    return 'In ' + this.x + ' the median value was' + this.median + 
    'and the total $' + Highcharts.numberFormat(this.y, 0);                        
 }

Ответы

Ответ 1

Внутри форматирования this ссылается на целенаправленную серию, вы можете добавить if/else внутри форматирования и вернуть строку для каждого из них, например, следующее.

tooltip: {
    shared: false,
    formatter: function() {
        var text = '';
        if(this.series.name == 'MSFT') {
            text = this.x + ': ' + this.series.name +
                   '<br> $' + Highcharts.numberFormat(this.y, 0);
        } else {
            text = 'In ' + this.x + ' the median value was' + this.median +
                   'and the total $' + Highcharts.numberFormat(this.y, 0);
        }
        return text;
    }
}

демонстрация

Ответ 3

Вот пример. Пример скрипта здесь:

tooltip: {
            formatter: function () {
                var s = '<b>' + Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '</b>';

                $.each(this.points, function () {
                    s += '<br/>1 USD = ' + this.y + ' EUR';
                });

                return s;
            }
        },