D3.js 在拖动点时更新图形
我正在使用d3制作一个最佳拟合线应用程序,我希望在拖动点的同时更新最佳拟合线。我让它工作,这样当你的拖动结束时,线会自动更新。但是,当涉及到在拖动点时实际更新时,我无法做到这一点 这是我的拖动功能:D3.js 在拖动点时更新图形,d3.js,D3.js,我正在使用d3制作一个最佳拟合线应用程序,我希望在拖动点的同时更新最佳拟合线。我让它工作,这样当你的拖动结束时,线会自动更新。但是,当涉及到在拖动点时实际更新时,我无法做到这一点 这是我的拖动功能: var move = d3.behavior.drag() .on("drag",drag) .on("dragend",function(){ dict.length = 0;
var move = d3.behavior.drag()
.on("drag",drag)
.on("dragend",function(){
dict.length = 0;
var dragPoint = d3.select(this);
var newX = x_scale2(parseInt(dragPoint.attr("cx")));
var newY = y_scale2(parseInt(dragPoint.attr("cy")));
model.replace_point(dragPoint.attr("id"),newX,newY);
updateDisplay();
});
function drag(){
var dragPoint = d3.select(this);
dragPoint
.attr("cx",function(){return d3.event.dx + parseInt(dragPoint.attr("cx"));})
.attr("cy",function(){return d3.event.dy +parseInt(dragPoint.attr("cy"));})
}
**如果您能帮助我实现目标,我们将不胜感激**您只需在拖动功能中包含“更新代码”。
然后,该行将在每次触发拖动事件时更新。这意味着每次点的位置改变
var move = d3.behavior.drag()
.on("drag", drag);
function drag() {
var dragPoint = d3.select(this);
dragPoint
.attr("cx", d3.event.dx + parseInt(dragPoint.attr("cx")))
.attr("cy", d3.event.dy + parseInt(dragPoint.attr("cy")));
var newX = x_scale2(parseInt(dragPoint.attr("cx")));
var newY = y_scale2(parseInt(dragPoint.attr("cy")));
model.replace_point(dragPoint.attr("id"), newX, newY);
updateDisplay();
}