我正在使用 d3 制作堆积条形图。
数据是一个数组,每个条都有一个对象(例如“喜欢”)。然后每个对象包含一个值数组,这些值驱动每个条形的各个矩形:
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”之类的内容,这涉及将有关条键的信息绑定到矩形。我还没有找到一种方法来做到这一点(除了更改数据)。你能看到一个优雅的解决方案吗?
另外,我不确定我是否以最好的方式描述了这个问题。如果您对更好的标题有任何建议,请告诉我。