2012-08-02 76 views
1
我有表示與日期的基本高圖表上分離的串困難

顯示日期不能上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] 
    }, 
+0

你能提供一個jsfiddle的例子嗎?你是什​​麼意思,你不能讓他們「在」圖表上?他們是價值還是工具提示/標題? – EricG 2012-08-02 11:53:34

+0

@EricG http://jsfiddle.net/ang3lo0o/yPU67/他們是值,我試圖通過它們在圖的類別部分 – 2012-08-02 12:20:33

+0

好吧,所以我「輸入」輸入「a」,我得到了紐約州東京,柏林,倫敦。你想在圖例上顯示它們嗎?我會看看。 – EricG 2012-08-02 12:36:22

回答

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函數。

+0

謝謝@EricG – 2012-08-02 19:37:03

+0

爲什麼這個月總是第七(7月)。有些事情是錯的@EricG – 2012-08-02 19:55:24

+0

因爲你每次都在創建新的adate(),它會給你'今天'。明天我會看看,看看我能不能找出你試圖做的:)) – EricG 2012-08-02 21:30:41

0

爲什麼不使用X軸爲datetime

xAxis: { 
    type: 'datetime' 
}, 

來自Twitter的數據解析日期,JS時間,有這樣的事情作爲你的系列數據數組:

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