我正在玩生成点文件,然后将它们变成带有大量节点的SVG图。
我的问题是,是否有事件监听器检测点/ SVG图节点上的鼠标点击?
例如,右键单击SVG图中的节点,我做了一些事情(可能从节点获取相关信息然后做某事),
那么如何生成点文件或SVG文件来实现呢?
答案 0 :(得分:0)
有几种方法可以创建交互式SVG图:
在任何情况下,您都必须在支持这些技术(浏览器)的客户端中显示svg图,除了svg输出graphviz创建之外,您还必须对其进行编码。
答案 1 :(得分:0)
如果你想要交互式图表,那么graphviz可能不是最好的选择。
我建议您查看D3.js。也许你可以用json构建图形数据并用D3加载它们?
答案 2 :(得分:0)
对此有另一个想法(意识到这个问题很旧,但是也许可以帮助遇到的人)。
根据您要执行的操作,将事件处理与图形解耦可能是最简单的。我的意思是,您可以找到graphviz将节点(以及边缘,标签等)放置在何处,例如,参见this post on how to do it in python。然后,您可以在所使用的任何GUI的背景中绘制图形,并通过将不可见的可单击对象放置在节点上,使用其本机事件处理对on_click
做出反应。