2015-05-04 82 views
0

我试图绘制堆积面积图d3堆积面积图中未绘制的路径

我将问题解决到this plunker

示例数据在下面,我确认数据(由堆栈布局重新计算)传递给区域生成器函数areaFcn。只是路径永远不会被数据更新。我不知道为什么。

有人吗?

谢谢!

var areaFcn = function(d, i) { 
d3.svg.area() 
.x(function(d, i) { return xScaleT(d.t); }) 
.y0(function(d) { return yScale(d.y0); }) 
.y1(function(d) { return yScale(d.y0 + d.y); }); 
} 

var inData = [ {"data":[ 
{"svName":"BBC [890]","avgBW":9654498}, 
{"svName":"CNN [453]","avgBW":4033202}, 
{"svName":"ESPN [984]","avgBW":4715123}], 
"timestamp":1430712151000}, 
{"data":[ 
{"svName":"BBC [890]","avgBW":9654498}, 
{"svName":"CNN [453]","avgBW":4033202}, 
{"svName":"ESPN [984]","avgBW":4715123}], 
"timestamp":1430712153000}, 
{"data":[ 
{"svName":"BBC [890]","avgBW":4103549}, 
{"svName":"CNN [453]","avgBW":4413707}, 
{"svName":"ESPN [984]","avgBW":11648783}], 
"timestamp":1430712156000} 
] 

http://plnkr.co/edit/dVU7NRwVsxjiQLRRKnoS

回答

1

的路径没有d属性。代码中的一些调试显示,函数areaFcn返回未定义。改变它并且它将工作:

var areaFcn = d3.svg.area() 
.x(function(d, i) { 
    return xScaleT(d.t); }) 
.y0(function(d) { 
    return yScale(d.y0); }) 
.y1(function(d) { 
    return yScale(d.y0 + d.y); });