Как программно установить всплывающую подсказку на график временных рядов C3? - PullRequest
0 голосов
/ 06 марта 2020

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

    var chart = c3.generate({
    bindto: '#c3',
    data: {
        x: 'x',
//        xFormat: '%Y%m%d', // 'xFormat' can be used as custom format of 'x'
        columns: [
            ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'],
//            ['x', '20130101', '20130102', '20130103', '20130104', '20130105', '20130106'],
            ['data1', 30, 200, 100, 400, 150, 250],
            ['data2', 130, 340, 200, 500, 250, 350]
        ]
    },
    axis: {
        x: {
            type: 'timeseries',
            tick: {
                format: '%Y-%m-%d'
            }
        }
    }
});
// This timeout am using to show the tooltip
    setTimeout(function () {
        chart.load({
            columns: [
                ['data3', 400, 500, 450, 700, 600, 500]
            ]
        });
        chart.tooltip.show({x:'2013-01-05'})
    }, 5000);

Несмотря на то, что вызов show всплывающей подсказки имеет значение x '2013-01-05', он все равно показывает подсказку для самой первой точки '2013-01-01'. Что бы ни было x подсказка индекса, отображаемая только для самой первой точки.

Codepen live ссылка

Я использовал для ссылки эту примерную ссылку для вызова Подсказка вручную. Этот пример хорошо работает для других типов диаграмм, кроме временных рядов.

Любые предложения или альтернативные решения приветствуются. Заранее спасибо.

...