日期不能显示在highcharts上

时间:2012-08-02 11:00:57

标签: javascript highcharts

我很难在基本高图上显示以日期分隔的字符串

我正在将Twitter上的推文保存到数组中,然后将数组转换为以逗号和引号分隔的字符串。
不幸的是我无法在图表上显示它们,我不知道我做错了什么。

    function search(){
    var value = $('#box').val();
    var array=[];
    var dateArray = [];
    var dateString;
    if (value!==""){$.getJSON("",
      function(data){

   $.each(data.results, function(i, item){
      var user=item.from_user;
      var created_at=new Date(item.created_at);
      var month = created_at.getMonth();
      var day = created_at.getDate();
      var year = created_at.getFullYear();
      var created= day +'/'+ month+ '/'+ year;
      array.push({date:created,username:user});
     });
    //    console.log(array);
    for (var i in array) {
        dateArray.push(array[i].date);
            }  
    dateString="'" + dateArray.join("','") + "'";
    console.log(dateString);
    });
      }
    var chart;
    chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        type: 'line',
        marginRight: 130,
        marginBottom: 25
    },
    title: {
        text: 'Monthly Average Temperature',
        x: -20 //center
    },
    subtitle: {
        text: 'Source: WorldClimate.com',
        x: -20
    },
    xAxis: {
        categories: [dateString]
    },

2 个答案:

答案 0 :(得分:2)

Fixed JsFiddle

您的x轴参数应如下所示:

xAxis: {
        categories: dateString
    },

Als,只需改变一下: - )

for (var i in array) {
    dateString.push(array[i].date);
}  

highchart(dateString);

哦,你应该明确地改变这一点。

<input type="text" id="box" value="a"/>


额外调查信息 它似乎(在旧的情况下)

console.log(stringArray);
highchart(stringArray);

是空的。你会通过

吗?
highchart(["ab", "b", "c"]);
那你就没事了。这是因为您传递的是一个空数组,而是在获得JSON数据之前创建了图表。因此,我将创建移动到JSON函数。

答案 1 :(得分:0)

为什么不将xAxis用作datetime

xAxis: {
    type: 'datetime'
},

从twitter数据中将日期解析为JS时间,并将其作为您的系列数据数组:

[[<jstime1>, "big cool tweet1"], [<jstime2>, "big cool tweet2"]]