我是d3.js.的新手。我创建了三个圆圈。我想要圆圈应该拖放。我们也可以使用线创建圆圈之间的连接。这是我的代码:
var spaceCircles = [30, 70, 110];
var svgContainer = d3.select("body").append("svg")
.attr("width", 200)
.attr("height", 200);
var circles = svgContainer.selectAll("circle")
.data(spaceCircles)
.enter()
.append("circle");
var circleAttributes = circles
.attr("cx", function (d) { return d; })
.attr("cy", function (d) { return d; })
.attr("r", 20 )
.style("fill", function(d) {
var returnColor;
if (d === 30) { returnColor = "green";
} else if (d === 70) { returnColor = "purple";
} else if (d === 110) { returnColor = "red"; }
return returnColor;
});
答案 0 :(得分:1)
为了实现这一点,您必须首先附加一个mousedown()函数
circles.on('mousedown', function(d) {
//detect if mouse is on a circle i.e if(d.type === "circle")
})
然后执行拖动操作的mousemove()函数。最后是mouseup()函数,您可以在其中添加相关节点之间的链接。