更新:これは問題の例です - http://jsfiddle.net/Hffks/2/
D3 を使用して折れ線グラフをコーディングしようとしていますが、私の線は最後に閉じられています。つまり、最初と最後の点が同じである閉じたパスとして機能します。私のデータは次の JSON 形式です。
[ entityA : [ { time : 1230000, // time since epoch
attribute1 : 123 // numeric value
attribute2 : 123 // numeric value
},
{ time : 1230010, // time since epoch
attribute1 : 123 // numeric value
attribute2 : 123 // numeric value
} ],
entityB : [ { ... // same format as above
...
]
私は行の標準宣言を使用しています (x と y の関数を含む d3.svg.line):
var line = d3.svg.line()
.x(function(d) {
return x_scale(d.c_date));
})
.y(function(d) {
return y_scale(d.total);
});
次に、エンティティを反復処理する for ループ内に、「svg:path」を追加します。
canvas.append("svg:path")
.attr("d", line(data[entity]))
グラフに関する他のすべての機能: ポイントが正しく配置されている、エンティティごとに複数の独立した線がある、軸が描画されているなど。ただし、各独立した線は閉じたパスとして機能します。
助けてくれてありがとう!