我试图在使用 D3.js 映射数据的程序中利用 Opentip.js 的功能集。
我不知道如何将新的 Opentip 对象与构成地图的未命名元素联系起来。
这是一个代码摘录,说明了我正在采用的方法:
<script type="text/javascript">
var dataset = [[4,2,'Bob'], [5,7,'Sally'], [2,2,'Marvin']];
var width = 38;
var height = 38;
var margin = 20;
function giveX(d) { return d[0] * width + margin }
function giveY(d) { return d[1] * height + margin }
var mapdiv = d3.select("#map")
.append("svg")
.attr("height", 680)
.attr("width", 980)
.style('border', '1px solid black')
var pips = mapdiv.selectAll("circle")
.data(dataset)
.enter().append("circle")
.style("fill", "red")
.style("stroke", "black")
.attr("cx", function(d) {return giveX(d)})
.attr("cy", function(d) {return giveY(d)})
.attr("r", width/2)
</script>
Opentip 对象的构造函数只需要我提供一个元素标识符,但我不清楚如何引用动态创建的“圆”元素。
我尝试将代码附加到 selectAll() 调用,但没有成功。