CanvasJs没有正确格式化日期

时间:2014-11-24 07:52:18

标签: jquery json canvasjs

我想显示癌症诊断出的患者数量,并从中得到我的JSON数据。问题在于无论我做什么,它都是在1970年实际日期不同的时候绘制的 进一步检查了那个;当我包含" JSON_NUMERIC_CHECK"在PHP返回JSON,然后将正确显示Y轴,如果我删除它将正确显示日期。

这是我的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

                                        }]}); 

1 个答案:

答案 0 :(得分: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})