我有4个显示某些数据的图。现在,我要在所有4个图表上拖动点。

我已经有了。

var drag = d3.behavior.drag()
    .on("drag", dragmove);

function dragmove(d) {
    var x = d3.event.x;
    var y = d3.event.y;
    console.log("["+x+";"+y+"]");
    d3.select(this).attr("transform", "translate(" + x + "," + y + ")");
    refresh();
}


如何实现在chart1 ... chart4中进行拖动?

最佳答案

您需要在所有4个图表中的所有要应用拖动行为的元素上调用拖动行为函数。

chart1.selectAll("circle").call(drag);
...
chart4.selectAll("circle").call(drag);


这是example与多个图表一起使用的方式

10-08 12:15