Подсказка ChartJS всегда отображается на графике (для режима «метка / индекс») - PullRequest
2 голосов
/ 09 июля 2019

У меня есть гистограмма с накоплением, и я хочу всегда отображать всплывающую подсказку на панели с накоплением. Мне удается заставить его работать, но результат не тот, который я хочу. Он отображал всплывающую подсказку для каждого столбца с накоплением отдельно; я хочу показать всплывающую подсказку для обоих столбцов в одном / сгруппированном виде.

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

Ниже кода, который я сейчас использую:

В регистр сервиса плагинов было добавлено ниже, чтобы всегда отображать подсказку на графике:

Chart.pluginService.register({
            beforeRender: function(chart) {
                //chart.options.tooltips.mode = 'index';

                var datasets = chart.data.datasets;
                chart.pluginTooltips = [];
                for (i = 0; i < datasets.length; i++) {
                    for (j = 0; j < datasets[i].data.length; j++) {
                        if (Number(datasets[i].data[j]) > 0) {
                            chart.pluginTooltips.push(new Chart.Tooltip({
                                _chart: chart.chart,
                                _chartInstance: chart,
                                _data: chart.data,
                                _options: chart.options.tooltips,
                                _active: [chart.getDatasetMeta(i).data[j]]
                            }, chart));
                        }
                    }
                }

            }, // end beforeRender

            afterDatasetsDraw: function(chart, easing) {

                // Draw tooltips
                Chart.helpers.each(chart.pluginTooltips, function(tooltip) {
                    tooltip.initialize();
                    tooltip.update();
                    tooltip.pivot();
                    tooltip.transition(easing).draw();
                });
            } // end afterDatasetsDraw

        });

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

tooltips: {
                    mode: 'label',

Ниже результата, который я сейчас получаю:

current

Ниже ожидаемого результата, который я хочу получить (теперь он отображается только при наведении курсора):

expected

У меня вопрос: как нарисовать сгруппированную подсказку (как показано выше), чтобы она всегда отображалась на графике (фиксировано).

...