我有一个流图,我想添加当鼠标悬停在每个流上时出现的工具提示,就像这个例子:
http://archive.stamen.com/mtvmovies-streamgraph/index.html
我现在有一些工具提示可以做类似的事情,但它们只显示每个流中的第一个值,所以无论我将光标悬停在流中的哪个位置,我都只会收到起始值。此外,工具提示不是连续的,所以当我移动光标时,工具提示消失了
这是我现在使用的代码。
var toolTip = vis.selectAll("path")
.data(data)
.append("svg:title")
.text(function(d) {
return ('Date: ') + formatTime(d.d_date) +
(' Money: ') + (d.money) +
(' Movie: ') + (d.name)
});
有没有人有什么建议或意见??
最佳答案
我认为您只是错过了对 enter().append()
的调用。除非另有说明,否则元素共享其父元素的数据。
/* Join */
var stream = viz.selectAll("path").data(data);
/* Enter */
stream.enter().append("path").append("title");
/* Exit */
stream.exit().remove();
/* Update */
stream
.attr("d", function(d) { return d.path; })
.select("title")
.text(function(d) {
return ('Date: ') + formatTime(d.d_date)
+ (' Money: ') + (d.money)
+ (' Movie: ') + (d.name);
});
关于javascript - 向流图添加更新工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14814913/