用图像注释DOT图

问题描述 投票:1回答:2

我正在使用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

有人知道该怎么做吗?

image graphviz dot edges
2个回答
6
投票

您可以在节点和边的标签中使用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标签中添加任意数量的行和列。它比标准文本标签更详细,但是您可以使用它们做更多的事情。


2
投票

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

此方法的问题在于,我正在使用的图形始终位于不同的位置,并且永远不会相同,因此在理想情况下,我想将图像添加到边缘标签或下方/下方。边缘标签等的右边。您是否曾经找到解决方法?

© www.soinside.com 2019 - 2024. All rights reserved.