我正在使用许多 D3持续时间直方图,每个都有不同的持续时间。我想将每个条表示的时间范围的开始时间绑定到每个条的 HTML 中的一个 div id。这些信息将通过 jQuery 访问。
例如,00:10 有一个酒吧。我想在酒吧的 div 中添加“00:10”。
我想不通的是如何把握这些时间。关于如何做到这一点的任何建议?
要添加属性,只需使用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))
})
我建议了解 d3.js 如何绑定数据。甚至可能不需要 jQuery。这是一个很好的教程系列:http ://alignedleft.com/tutorials/d3/binding-data/