2015-04-17 7 views
0

Я пытаюсь обновить диаграмму с использованием highchart, диаграмма обновляется каждые 2 секунды с помощью функции setInverval и добавления данных с использованием .addPoint как это.Добавить данные в ось High-chart X

setInterval(function (data) { 
    var inf = parseInt(data.stat); 
    chart_data.addPoint([x,purple], true, true); 
},2000); 

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

В настоящее время график выглядит так,

enter image description here

xAxis: { 
    type: 'datetime', 
    tickPixelInterval: 10 
     }, 

Видимо понижение tickPixelInterval, кажется, не помогает. Как я могу это исправить? Благодаря

ответ

1

Вы используете:

chart_data.addPoint([x,purple], true, true); 

Второе верно, то сдвиг аргумент (см API:) и вызовет ряд уронить первые точки данных в качестве нового добавляется. Чтобы этого избежать, вы можете проверить, достаточно ли данных, чтобы выполнить смену. Например, 2 секунды * 150 = 5 минут (300 секунд), поэтому, если addPoint называется 151 раз, а позже, то аргумент shift должен быть true и false в противном случае.

+0

Спасибо, что работал, также когда я сделал это, линии диаграммы исчезают, и на диаграмме отображаются только точки, они не показывают линии, соединяющие точки. Любой способ исправить это? – rksh

+0

Не могли бы вы опубликовать живой пример, например jsFiddle? Рабочий пример: http://jsfiddle.net/jLxx6qh7/ –

Смежные вопросы