我正在使用众多D3 duration histograms,每个都有不同的持续时间。我想将每个条形表示的时间范围的开始时间绑定到每个条形图HTML中的div id。这些信息将通过jQuery访问。
比如说在00:10有一个酒吧。我想在栏的div中添加“00:10”。
我无法弄清楚如何掌握这些时间。有关如何做到这一点的任何建议吗?
答案 0 :(得分:2)
要添加属性,只需使用selection.attr()
,例如:
bar.append("rect")
.attr("x", 1)
.attr("width", x(data[0].dx) - 1)
.attr("height", function(d) { return height - y(d.y); })
.attr("data-time", function(d){return formatMinutes(d.x)})
但是,如果您只是想在点击时访问API,请查看d3的selection.on()
:
bar.append("rect")
.attr("x", 1)
.attr("width", x(data[0].dx) - 1)
.attr("height", function(d) { return height - y(d.y); })
.on("click", function(d){
accessAPI(formatMinutes(d.x))
})
例如。 http://jsfiddle.net/3saQW/
我建议了解d3.js如何绑定数据。甚至可能不需要jQuery。这是一个很好的教程系列:http://alignedleft.com/tutorials/d3/binding-data/