2014-11-24 100 views
0

我想顯示由癌症診斷的患者數量,並從中獲得我的JSON數據。問題不在於我做什麼,而是在1970年實際日期不同時繪製。
進一步檢查了;當我在PHP返回的JSON中包含「JSON_NUMERIC_CHECK」時,將正確顯示Y軸,如果我刪除它,則會正確顯示日期。CanvasJs沒有正確格式化日期

這裏是我的JSON數據

[ 
    { 
     "y": 2, 
     "x": 2004 
    } 
] 

這裏是因爲我的代碼

if(json.length !=0){ 
       //alert(json); 
        alert(json[0].x); 


        var dp1 = []; 
        for(var i=0; i<json.length; i++){ 

         dp1.push({x:new Date(json[i].x), y:json[i].y}) 
        } 

          $("#dchart").CanvasJSChart({ //Pass chart options 
           title:{text:"Cancer Diagnosis Number "}, 
           zoomEnabled: true, 
            panEnabled: true, 
            axisX:{valueFormatString:"YYYY",labelAngle:-45}, 

            data: [{ 
             color:"red", 
             type: "column", 
             legendText:"Thyroid Cancer",  
             showInLegend:true, 
             dataPoints:dp1 

             }]}); 

回答

0

的「JSON_NUMERIC_CHECK」它轉換x和y爲數字,所以我不得不更改日期數字轉換爲字符串,然後使用新的Date()函數。

如下

for(var i=0; i<json.length; i++){ 
         var data = json[i].x; 
         var xd = String(data); 
         dp1.push({x:new Date(xd), y:json[i].y})