2017-05-17 10 views
0

canvasjsにおける線グラフを作成する:ループIは、配列オブジェクトが

total = 
    [ 
    { 
     date: 5/12/2017, 
     count: 5, 
     type: A 
    }, 
    { 
     date: 5/15/2017, 
     count: 15, 
     type: A 
    }, 
    { 
     date: 5/12/2017, 
     count: 4, 
     type: B 
    }, 
    { 
     date: 5/15/2017, 
     count: 5, 
     type: C 
    }.. 
    ] 

私は、各行がそれぞれのタイプを提示する方法CanvasJSを使用して折れ線グラフでループしての疑問は、X軸が日付を示し、 y軸プレゼントここ

を数える私がこれまで持っているものです。

 var chart = new CanvasJS.Chart("chartContainer", 
     { 
      title: { 
       text: "My Counts" 
      }, 
      axisX: { 
       title: "Date", 
      }, 
      axisY: { 
       title: "Count" 
      }, 
      data: [] 
      }); 
+0

コードにかなりの間違いがあります。文字列を引用符で囲む必要があります(タイプ: "A")。また、数字だけではないので、そのような日付を保存することはできません。 JSタイムスタンプに変換するか、文字列として格納する必要があります。文字列として格納する場合は、JSが有効な日付として受け入れる前に再フォーマットする必要があります。これらの間違いが修正されたら、forループを実行して、下記のようにグラフのdataPointsを格納することができます。 – Beevk

答えて

2

あなたは後でヨーヨーでそれを使用するために別の変数に自分のアレイとストア、データポイント上にforループを実行することができますウルチャート。

var dps1 = []; 
var dps2 = []; 
var dps3 = []; 

for(var i = 0; i < total.length; i++) { 
    if(total[i].type === "A") { 
     dps1.push({x: new Date(total[i].date), y: total[i].count}); 
    } else if(total[i].type === "B") { 
     dps2.push({x: new Date(total[i].date), y: total[i].count}); 
    } else if(total[i].type === "C") { 
     dps3.push({x: new Date(total[i].date), y: total[i].count}); 
    } 
} 

データポイントを保存したら、グラフで使用する必要があります。

data: [{ 
    type: "line", 
    dataPoints: dps1 
}, { 
    type: "line", 
    dataPoints: dps2 
}, { 
    type: "line", 
    dataPoints: dps3 
}] 
関連する問題