1
d3.js에 바인딩 된 데이터를 어떻게 업데이트합니까?d3에서 바운드 데이터를 업데이트하는 방법
바운드 데이터에만 액세스 할 수 있지만 수정할 수없는 이유는 무엇입니까?
또한 바인딩 된 데이터를 사용하여 cx를 수정하고 싶습니다. 그러나이를 위해서는 데이터를 업데이트해야합니다.
var dataset = [10, 110];
var svg = d3.select("body").append("svg:svg")
.attr("width", 960)
.attr("height", 500);
var g = svg.append("svg:g");
g.selectAll("circle")
.data(dataset)
.enter()
.append("svg:circle")
.attr("cx", function(d) {return d;})
.attr("cy", 10)
.attr("r", 5)
.style("fill", "rgb(125,125,125)")
.call(d3.behavior.drag().on("drag", move));
function move(d){
var dragTarget = d3.select(this);
dragTarget
.attr("cx", d3.event.dx + parseInt(dragTarget.attr("cx")))
.attr("cy", function(){return d3.event.dy + parseInt(dragTarget.attr("cy"))});
d = d + d3.event.dx;
console.log(d);
};
이동 중에 cy 속성에 함수를 전달할 필요가 없습니다. x 좌표를 설정 한대로 설정하십시오. –
다른 데이터로'.data() '를 호출하여 바운드 데이터를 업데이트합니다. –