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 に答える