Вот моя ситуация. Один клиент просмотрел мое письмо: 1 ноября 2017 г. 8:10 Один клиент просмотрел мое письмо: 1 ноября 2017 г. 8:25 Один клиент просмотрел мое письмо: 1 ноября 2017 г. 8:39 Один клиент просмотрел мое письмо: 1 ноября 2017 г. : 50 Один клиент просмотрел мою почту: 2 ноя 2017 10:10 Один клиент просмотрел мою почту: 2 ноя 2017 11:25 Один клиент просмотрел мою почту: 2 ноя 2017 11:39

Теперь мне нужна линейная диаграмма с часами на оси X. Итак, первая точка будет: 2017 ноя 1 8 со значением: 3 Вторая точка должна быть: 2017 ноя 1 9 со значением: 1 Пара часов без данных, поэтому значение 0. Затем точка 2017 ноя 2 10 со значением: 1 Затем точка 2017 ноя 2 11 со значением: 2

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

$(function () {
    $('#container').highcharts({
    chart: {
        zoomType: 'x'
    },
    tooltip: {
  shared: false
},
    xAxis: {
        type: 'datetime',
        tickInterval: 3600 * 1000,
        min: Date.UTC(2013,4,22),
        max: Date.UTC(2013,4,23),
    },
    series: [{
        data: [
            [1369206795000, 1],
            [1369206795000, 1],
            [1369225421000, 1],
            [1369225421000, 1],
            [1369225421000, 1],
            [1369230934000, 1]
        ],
        pointStart: Date.UTC(2012, 05, 22),
        pointInterval: 24 * 3600 * 1000, // one day
        stacking: 'normal'
    }]
});
});

Видеть: http://jsfiddle.net/elnbado/93Xcu/557/

0
Barry Dogger 22 Ноя 2017 в 12:22

1 ответ

Лучший ответ

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

Справка по API:
https://api.highcharts.com/highstock/plotOptions.series.dataGrouping

Пример:
http://jsfiddle.net/Ljemcw2s/

0
pawel_d 23 Ноя 2017 в 17:54