Проблема Highcharts - маркировка данных серии по оси Y - PullRequest
3 голосов
/ 29 августа 2011

У меня проблема с старшими чартами ...

Рассмотрим пример отношения:

Data
-----
Id(pk)
Date date
Data varchar(50)

Это отношение содержит данные.Важно отметить, что дата не является непрерывной ... т.е. данные вводятся не каждый день.Пример таблицы может быть

Data
-----
Id       Date        Data
1     2011-08-22   SomeData
2     2011-08-29   MoreData

. Я предоставляю пользователям интерфейс HTML / jQuery, где данные могут быть извлечены из базы данных и построены с использованием высоких диаграмм.Это хорошо работает:

http://dev.speechlink.co.uk/David/fifthiteration/dbgrapher.php

Я использую следующий jQuery для обозначения оси X:

xAxis: {
         type: 'datetime',
         maxZoom: 14 * 24 * 3600000, // fourteen days
         lineWidth: 1,
         lineColor: '#999999',
         title: {
            text: 'Date' 
         }
       }

И это для серии:

series: [{
         type: 'spline',
         name: data.questionTitle,
         pointInterval: 24 * 3600 * 1000,
     pointStart: Date.UTC(data.year, data.month, data.day),
     data: cdata,
     lineColor:  '#f6a828',
     color: '#418ed6'
      }]

Теперь это прекрасно работает, ОДНА проблема -> все точки отображаются так, как если бы они были выполнены в последующие дни ... Это не так ... Например, если в моей таблице есть данные, представленные на24-е, а затем нет данных до 29-го .... данные 29-го числа неверно размещены, поскольку данные представлены 25-м ...

Это, очевидно, связано с этим аргументом серии:

         **pointInterval: 24 * 3600 * 1000,**

Мои данные поступают так:

[23-го, 24-го, 25-го, 29-го]

В то время как это должно быть что-то вроде:

[23-го, 24-го, 25th, null, null, null, 29th]

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

РЕДАКТИРОВАТЬ:

Я вижу, на старших графиках вы можете передавать данные следующим образом:

var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container'
    },
    xAxis: {
        type: 'datetime'
    },

    series: [{
        data: [
            [Date.UTC(2010, 0, 1), 29.9], 
            [Date.UTC(2010, 2, 1), 71.5], 
            [Date.UTC(2010, 3, 1), 106.4]
        ]
    }]
});

Есть ли способ пройтимассив php в правильном формате для серии выше (то есть с данными и связанным значением) ..

1 Ответ

1 голос
/ 29 августа 2011

Если у вас нет точек данных для интервала, вы можете указать как ноль в серии.Вы можете попробовать [23rd, 24th, 25th, null, null, null, 29th], это будет отлично работать.

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