Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用snap svg操作/拖动/隐藏/显示svg图中的节点_Svg_D3.js_Snap.svg - Fatal编程技术网

使用snap svg操作/拖动/隐藏/显示svg图中的节点

使用snap svg操作/拖动/隐藏/显示svg图中的节点,svg,d3.js,snap.svg,Svg,D3.js,Snap.svg,我有一个由GraphViz工具生成的SVG网络图(节点和边)。我想让这个图在某种意义上具有交互性,它应该是可拖动的,点击一个节点,其他一些要隐藏的节点,等等。有谁能说snapSVG就足够了?我不能向SVG图中添加任何我的限制。如何使现有的svg图强制定向?任何帮助、起点、小提琴都会有帮助。我在d3.js中有经验,d3.js可以实现吗?这应该是可能的,也许要知道Snap.svg与旧浏览器不太兼容(在这种情况下,你可以看看Raphael,它是Snaps的哥哥,d3也是非常成熟的)。他们都有所有的基础

我有一个由GraphViz工具生成的SVG网络图(节点和边)。我想让这个图在某种意义上具有交互性,它应该是可拖动的,点击一个节点,其他一些要隐藏的节点,等等。有谁能说snapSVG就足够了?我不能向SVG图中添加任何我的限制。如何使现有的svg图强制定向?任何帮助、起点、小提琴都会有帮助。我在d3.js中有经验,d3.js可以实现吗?

这应该是可能的,也许要知道Snap.svg与旧浏览器不太兼容(在这种情况下,你可以看看Raphael,它是Snaps的哥哥,d3也是非常成熟的)。他们都有所有的基础知识,处理程序,动画等。然而,尽管这是可能的,这可能是相当多的工作(所以可能要坚持你所知道的)

您可能希望了解是要自动创建连接元素并自动移动,还是愿意手动移动端点


它还可能取决于拖动元素后希望发生的事情。你想救他们吗?其中一些可能对如何处理它非常重要,可能比拖动更重要,因为大多数人都支持这一点。

我的svg图已经创建,我需要选择它们并提供所需的属性。我的想法是使svg成为d3.js制作的强制有向图。是否有任何通用方法可以使SVG成为强制导向的。不确定是否有通用方法,但我的直觉是坚持使用d3,因为有一些内置的,以及更多的强制直接引用示例,而不是snap。d3具有特定的布局,如强制导向,但是您需要将已经创建的数据转换到该设置中。布局的力方向根据其动态算法更改元素的平移、方向等。一个预先创建的图的所有部分都相当“锁定”。