日期不能显示在高图表上

dates cannot be shown on highcharts

本文关键字:高图表 显示 不能 日期      更新时间:2024-06-29

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

我从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]
    },

固定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函数。

为什么不使用xAxis作为日期时间:

xAxis: {
    type: 'datetime'
},

将日期从twitter数据解析为JS时间,并将类似的内容作为您的系列数据数组:

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