3

我正在使用 PyDot 在 python 中生成 Graphviz/点图。我想用从文件中读取的图像来注释我的节点和边缘,我在文档中找到了如何将图像作为节点,但没有找到如何将图像放在节点下甚至更少的边缘。

http://www.graphviz.org/doc/info/attrs.html

http://www.graphviz.org/doc/info/shapes.html

http://www.graphviz.org/Documentation/html/shapehowto.html

有人知道该怎么做吗?

4

2 回答 2

7

您可以在节点和边的标签中使用 HTML。您可以在此处找到详细信息:http: //www.graphviz.org/doc/info/shapes.html#html

基本上你可以说些什么

"a" -> "b" [label = <<TABLE><TR><TD><IMG SRC="path/to/picture"/></TD></TR></Table>>]

您可以在 html 标签中添加任意数量的行和列。它比标准文本标签更冗长,但你可以用它们做更多的事情。

于 2012-03-04T03:55:25.563 回答
2

在边缘始终绘制在同一位置的情况下,一种可行的方法是创建一个具有透明背景的 PNG,并将图标放置在将要绘制边缘的同一位置,或者使用 labeldistance/labelangle 属性移动. 我不熟悉 PyDot,但使用 SQL 我会创建一个案例来确定图像是否显示在节点上..

这种方法的问题是我正在使用的图形总是定位不同并且永远不会相同,所以在理想情况下,我想将图像添加到边缘标签,或在/右侧边缘标签等。你有没有设法找到解决方法?

于 2012-01-13T00:45:09.503 回答