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