Высокие диаграммы: дублирование меток по оси X при включенной группировки данных (по месяцам) - PullRequest
0 голосов
/ 03 мая 2018

У меня проблема с группировкой данных по месяцам. Я считаю, что это ошибка с размером набора данных (1 января 2018 г. - 30 апреля 2018 г.), который я использую, но, возможно, есть лучший способ использования dataGrouping. Проблема, с которой я столкнулся, заключается в том, что метки оси X неверны.

Для диапазона дат с 1 января 2018 года по 30 апреля 2018 года:

Ожидаемая ось X будет: "Январь '18" "февраль" 18 "" мар "18" "апр 18"

Фактическая ось X: "Январь '18" "февраль" 18 "" март 18 "" март 18 "" апр 18 "1012 *

В моем примере ( jsfiddle ) я условно включаю Группировку данных в строке 76: data.dataGrouping.enabled = (e.target.value === 'month');

Любое понимание будет с благодарностью.

1 Ответ

0 голосов
/ 03 мая 2018

Я думаю, что нашел решение: используйте HighStocks, а не HighCharts

У меня обновленная скрипка с результатом. Краткое описание:

Используйте HighScocks и просто отключите некоторые функции, чтобы они выглядели как диаграмма Highstock:

var chart = Highcharts.stockChart('myChart', {
    chart: {
        type: 'column',
        width: null
    },
    xAxis: {
        labels: {
            enabled: true,
            formatter: function() {
                if (grouping === 'date') {
                    return Highcharts.dateFormat('%b %e, \'%y', this.value);
                } else {
                    return Highcharts.dateFormat('%b, \'%y', this.value);
                }
            }
        }
    },
    navigator: {
        enabled: false
    },
    scrollbar: {
        enabled: false
    },
    rangeSelector: {
        enabled: false
    },
    yAxis: {
        title: {
            text: null
        }
    },
    title: {
        text: null
    },
    legend: {
        enabled: false
    },
    plotOptions: {
        series: {
            color: 'white'
        }
    },
    tooltip: {
        backgroundColor: '#0E7BBA',
        style: {
            color: 'white'
        },
        formatter: function() {
            var s = ''
            if (grouping === 'date') {
                s = '<b>' + Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '</b>';
            } else {
                s = '<b>' + 'Date: ' + Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '<br />' +
                '<b>Month: ' + Highcharts.dateFormat('%B %Y', this.x) + '</b>';
            }
            s += '<br />' + this.points[0].series.name + ': ' + this.y;
            return s;
        }
    },
    credits: {
        enabled: false
    },
        series: []
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...