Как показать подсказку в Sparkline Chart из кода - PullRequest
0 голосов
/ 05 февраля 2019

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

Uncaught TypeError: Невозможно прочитать свойство 'tooltipOptions' из undefined в a.Tooltip.refresh (highcharts.src.js: 22676)

Код, который я использую для отображения / скрытия всплывающих подсказок:

function chartPointClick(pointidx) {
    var chartArray = Highcharts.charts;
    for (var i = 0; i < chartArray.length; i++) {
        var thechart = Highcharts.charts[i];
        var theData = thechart.series[0].data;

        if (thechart.renderTo.tagName == 'TD') {
            var theSeries = thechart.series[0]
                console.log(theSeries);
                thechart.tooltip.refresh(theSeries.options.data[0]);
        }
        thechart.redraw();
    }
}

Этот метод вызывается с помощью метода plotOptions.series.events:

events: {
        click: function (event) {
            chartPointClick(event.point.idx);
        }
}

Как активировать всплывающие подсказки?

Live demo .

EDIT - Live demo с использованием одной гистограммы, которая не работает.

1 Ответ

0 голосов
/ 05 февраля 2019

Метод всплывающей подсказки refresh принимает первый аргумент только в виде массива точек:

    if (thechart.renderTo.tagName == 'TD') {
        var theSeries = thechart.series[0]
        thechart.tooltip.refresh([theSeries.points[0]]);
    }

Следующая проблема здесь - это опция outside для всплывающей подсказки, которая вызывает другую ошибку.Я рекомендую вам использовать:

td,
th {
    ...
    overflow: visible !important;
}

Демонстрационная версия: https://jsfiddle.net/BlackLabel/qx31oa7m/

API: https://api.highcharts.com/highcharts/tooltip.outside

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