0
我想添加一个堆叠面积图上圈,像http://nvd3.org/examples/stackedArea.html,用这个例子:http://bl.ocks.org/mbostock/3020685创建堆积面积图上圈
var stack = d3.layout.stack()
.offset("zero")
.values(function(d) { return d.values; })
.x(function(d) { return d.date; })
.y(function(d) { return d.value; });
var nest = d3.nest()
.key(function(d) { return d.key; });
var layers = stack(nest.entries(data));
svg.selectAll("circle")
.data(layers)
.enter().append('circle')
.attr('cx', function (d, i) { return x(d.values[i].value); })
.attr('cy', function (d, i) { return y(d.values[i].date); })
.attr('r', 10);
当然没有圈出现在图表上,我敢肯定那cy
和cx
的值是不正确的,但我无法弄清楚它们。
这里是数据:
key,value,date
Group1,37,04/23/12
Group2,12,04/23/12
Group3,46,04/23/12
Group1,32,04/24/12
Group2,19,04/24/12
Group3,42,04/24/12
Group1,45,04/25/12
Group2,16,04/25/12
Group3,44,04/25/12
Group1,24,04/26/12
Group2,52,04/26/12
Group3,64,04/26/12
UPDATE: OK,有时后我想通了:
svg.selectAll("circle")
.data(data)
.enter().append('circle')
.attr('cx', function (d, i) { return x(d.date); })
.attr('cy', function (d, i) { return y(d.y0 + d.y); })
为什么不使用chrome devtools来设置断点并查看d上的结构? –