2014-11-24 127 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})