0

我想显示被诊断为癌症的患者人数,并从中获得正确的 JSON 数据。问题是无论我做什么,当实际日期不同时,它都会绘制为日期 1970。
进一步检查了这一点;当我在 PHP 返回的 JSON 中包含“JSON_NUMERIC_CHECK”时,将正确显示 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

                                        }]}); 
4

1 回答 1

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})
于 2014-11-24T09:25:45.063 回答