如何一次移动所有选定的节点?D3/JS.
How do I move all selected nodes at once ? D3/JS
我有一个用D3制作的力定向图。
我可以在节点上拖动一个框并将其属性更改为"已选择"。
我现在要做的是一次移动所有这些选定的节点。这是我的拖动功能'
function dragstart(d, i)
{
force.stop(); //-stop the force layout as soon as you move nodes
}
function dragmove(d, i) //-change coordinates of nodes and lines ???
{
d.px += d3.event.dx;
d.py += d3.event.dy;
d.x += d3.event.dx;
d.y += d3.event.dy;
tick();
}
function dragend(d, i) //-when you stop dragging the node
{
d.fixed = true; //-D3 giving the node a fixed attribute
d3.select(this).classed("fixed", true); //-changing nodes CSS class
tick(); //-update positions
}
如何应用它以便一次移动所有选定的节点?
我假设你的意思是你把节点的类更改为"选择"而不是它们的属性。我是 D3js 的初学者,但我认为应该发生以下情况:
d3.behaviour.drag()
.on("dragstart", function() {
d3.selectAll('.selected').each(dragstart(d,i))
})
.on("drag", function() {
d3.selectAll('.selected').each(dragmove(d,i))
})
.on("dragend", function() {
d3.selectAll('.selected').each(dragend(d,i))
})
根据您的函数tick()
做什么,这可能适合您。
相关文章:
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- d3使用链接的节点名称的力图
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 如何使d3.js树布局按字母顺序对节点进行排序
- D3.js:展开树直到节点n
- d3力中的阵列和节点映射
- 如何在d3.js图库中基于nodes id连接边和节点
- D3.js-单击节点后无法设置节点标签
- D3:从不同的图表中选择特定的节点
- 从 d3.js 中的树中选择节点的子节点
- D3 上下文菜单,更改所选节点颜色
- d3.js - 强制布局和节点位置
- 将标签放在 d3.js 中节点的中心
- 正在节点d3.js之间创建链接,当前返回Uncaught TypeError:无法读取属性'weight'
- 如何仅选择具有特定 CSS 类的节点?D3/JS.
- 如何查看使用 d.selected 选择了哪些节点?D3/JS.
- 在连接到节点 d3.js 之前穿过另一点的线
- 如何一次移动所有选定的节点?D3/JS.
- 树映射高亮显示子节点D3