2013-02-15 3 views
0

Я пытаюсь создать некоторые случайные точки данных для моей серии Highcharts, но у меня возникают проблемы с функцией данных. Вот мой код (упрощенно от Fiddle):Нужно генерировать случайные данные для серии Highcharts

series : { 
    name : 'Total Mentions', 
    type:'spline', 
    lineWidth:1, 
    data : (function() { 
     var arr = []; 
     for(var i = 0; i < 500; i++) { 
      var date = randomDate(new Date(2004, 0, 9), new Date()); 
      var randNum = Math.round(Math.random()*100); 
      var finalDate = "Date.UTC(" + date.getFullYear() + ", " + date.getDate() + ", " + date.getMonth() + ")"; 
      arr.push([finalDate, randNum]); 
     } 
     return arr; 
    })() 
}, 
[...etc...], 

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

[Date.UTC(2008, 23, 8),56], 
[Date.UTC(2012, 12, 6),21], 
[Date.UTC(2008, 22, 10),16], 
[Date.UTC(2009, 17, 7),25], 
[...etc...], 

Прямо сейчас, моя страница не загружается график. Страница будет загружаться бесконечно, как будто она не распознает данные.

Любые мысли?

+0

Взгляните на демонстрации api, есть демоверсия, в которой используется случайное время, вы можете попытаться понять, как это работает и сделать это для дат. http://www.highcharts.com/stock/demo/dynamic-update –

ответ

4

Вы должны указывать дату в миллисекундах в массиве, например:

arr.push([date.getTime(), randNum]); 
    arr.sort(function (a,b) { if (a[0] < b[0]) return -1; if (a[0] > b[0]) return 1; 
    return 0; }) 
    return arr; 

Я создал скрипку; http://jsfiddle.net/hkskoglund/cnTqS/4/

Попробуйте поймать другие синтаксические ошибки в консоли в Chrome devtools.

+0

Отлично! Благодаря! – Jon

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