3

我正在玩生成点文件,然后将它们转换为具有很多节点的 SVG 图。

我的问题是是否有事件侦听器来检测鼠标单击点/SVG 图形节点?

例如,在SVG图中的一个节点上右击,我做一些事情(可能从节点获取相关信息然后做一些事情),

那么如何生成点文件或者SVG文件来实现呢?

4

3 回答 3

2

有几种方法可以创建交互式 SVG 图:

在任何情况下,您都必须在支持任何这些技术(浏览器)的客户端中显示 svg 图,并且除了 graphviz 创建的 svg 输出之外,您还必须对其进行编码。

于 2012-09-04T06:55:51.553 回答
2

关于这个的另一个想法(意识到这个问题很老,但也许它可以帮助某人遇到)。

根据您想要做什么,将事件处理与绘图分离可能是最简单的。我的意思是,您可以找出 graphviz 将节点(以及边、标签等)放置在哪里,例如,请参阅这篇关于如何在 python 中执行此操作的帖子。然后,您可以在所使用的任何 GUI 的背景中绘制图形,并使用其本机事件处理on_click通过在节点上放置不可见的可点击对象来做出反应。

于 2019-09-28T06:15:28.767 回答
-1

如果您想要交互式图表,那么 graphviz 可能不是最佳选择。

我建议看看D3.js。也许您可以在 json 中构建图形数据并使用 D3 加载它们?

于 2012-09-04T08:35:11.053 回答