我pydot
用来生成 SVG 图形图像。我在这个网站上注意到:http ://safemap.sourceforge.net/demo/index-no-refresh.html他们有一个可点击的 SVG。(该网站还展示了如何使用 CSS 设置 SVG 样式:https ://css-tricks.com/using-svg/ )
我一直在搜索有关使用 生成可点击 SVG 的文档pydot
,但找不到任何东西。
Pydot 是 Graphviz 的包装器。首先检查您是否可以在 Graphviz 中执行此操作是合理的。
事实证明你可以:
现在,你能用 pydot 做吗?我相信是这样,但还没有测试过。通过查看 pydot 的源代码,我发现它支持任何属性 -在测试中我们看到用户通过shape
:
self.graph_directed.add_node( pydot.Node('node', shape='box') )
在pydot 本身中,我们看到它可以支持任何类型的属性,而不仅仅是shape
:
class Node(object, Common):
(...)
def __init__(self, name = '', obj_dict = None, **attrs):
(...)
self.obj_dict[ 'attributes' ] = dict( attrs )
所以我会尝试使用pydot.Node('node', url='http://somewhere')
. 如果失败,我会.dot
手动构建一个文件并通过 pydot 传递它。
如果您打算在 中使用 SVG <img/>
,由于您的网络浏览器的安全策略,您的链接可能无法正常工作。在这种情况下,您需要将其直接嵌入到您的 HTML 中,就像您链接的网站一样。如果图像托管在与主机页面不同的域上,这一点尤其重要。