我正在使用d3制作堆叠条形图。d3.js:将数据从父节点传递到子节点
数据是一个数组,每个数据条有一个对象(例如'likes')。然后,每个对象包含驱动每列中的各个矩形值的数组:
data = [{
key = 'likes', values = [
{key = 'blue-frog', value = 1},
{key = 'goodbye', value = 2}
]
}, {
key = 'dislikes, values = [
{key = 'blue-frog', value = 3},
{key = 'goodbye', value = 4}
]
}]
图表工作正常,像这样:
// Create canvas
bars = svg.append("g");
// Create individual bars, and append data
// 'likes' are bound to first bar, 'dislikes' to second
bar = bars.selectAll(".bar")
.data(data)
.enter()
.append("g");
// Create rectangles per bar, and append data
// 'blue-frog' is bound to first rectangle, etc.
rect = bar.selectAll("rect")
.data(function(d) { return d.values;})
.enter()
.append("rect");
我想创建每矩形工具提示这说事像“喜欢:2”这涉及绑定关于矩形栏键的信息。我还没有找到一种方法来做到这一点(除了更改数据)。你能看到一个优雅的解决方案?
另外,我不确定我是否以最好的方式描述了这个问题。让我知道,如果你有一个更好的标题(礼貌)的建议;-)
这是一个梦幻般的答案。确实非常有用! –
tsenga。我已经发布了一个跟进这个问题[这里](http://stackoverflow.com/questions/13751414/d3-js-passing-data-from-parent-node-to-child-node-onclick-event)。如果你能看一看,那将会很棒。 –
在嵌套选择文章中提到了j参数;刚才的行:http://bost.ocks.org/mike/nest/#data – nautat