38
到目前爲止,我一直在使用循環向D3可視化添加線條元素,但這看起來並不符合API的精神。在D3.js中繪製多條線
比方說,我已經得到了一些數據,
var data = {time: 1, value: 2, value2: 5, value3: 3,value4: 2},
{time: 2, value: 4, value2: 9, value3: 2,value4: 4},
{time: 3, value: 8, value2:12, value3: 2,value4:15}]);
我想四條線,以時間爲X的所有4
我可以做這樣的事情:
然後逐個添加(或通過循環)。
var line1 = group.selectAll("path.path1")
.attr("d",l(data));
var line2 = group.selectAll("path.path2")
.attr("d",l2(data));
var line3 = group.selectAll("path.path3")
.attr("d",l3(data));
var line4 = group.selectAll("path.path4")
.attr("d",l4(data));
有沒有更好的更一般的方法來添加這些路徑?
邁克,我用了你這裏的例子是爲了在多行上取得一些進展,但是如何轉換?想知道如果你可以眼球這個問題,請:http://stackoverflow.com/questions/10404283/d3-js-transform-transition-multiple-lines - 謝謝! – August 2012-05-02 15:36:18
x(d.time);似乎是不正確的 - 對此沒有特別的功能;它只適用於將其更改爲簡單d.time的情況。對應的y也是一樣。 – LittleBobbyTables 2012-07-19 18:38:36
'x'和'y'指的是尺度,你應該在使用前定義尺度。 – mbostock 2012-07-20 15:28:25