在 graphviz(点)图中使用 HTML 列表

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

我想将 HTML 列表 (

<ul><li>...</li></ul>
) 集成到我的 Graphviz 节点的文本标签中。类似的东西:

digraph {

  a [label="<ul><li>My item</li><li>My item 2<ul><li>My nested item</li></ul></li></ul>"] 
  b [label="A node without a list"]

  a -> b
}

我认为到目前为止,这是不可能做到的,因为 Graphviz 语言仅支持 HTML 词汇的一个子集(参见 https://graphviz.org/doc/info/shapes.html#html)。

我尝试编写一个非常手工制作的解决方案,该解决方案由嵌套表格(用于缩进)和符号(用于列表项目符号)组成。然而,这对编码来说是一场噩梦,而且不太容易调整/美化。

你们中的一些人已经解决了这个问题并有一些建议吗?

我使用 graphViz 是因为这可以非常方便地根据节点的连接和大小将节点定位为“最佳配置”。由于 Graphviz 不是必需的,我愿意接受任何使用“完整 HTML”标签绘制节点的建议,这些标签会根据其连接和大小自动定位。

graphviz dot
1个回答
0
投票

获得 HTML 完整功能的“最简单”方法似乎是将每个标签编写在单独的 HTML 文件中,然后将 HTML 转换为 SVG(最好)或 png、jpeg...(足够好)并包含将它们作为图像 (https://www.graphviz.org/docs/attrs/image/) 文件添加到 Graphviz 输入中。
Imagemagick (https://imagemagick.org/script/formats.php) 似乎能够将 HTML 转换为 SVG。

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