如何仅设置 graphviz 终端节点的样式?

How to style graphviz terminal nodes only?

我使用 depgraph-maven-plugin 的 targetIncludes 目标来生成一个点文件,并生成一个图。

当我配置“点”布局引擎时,终端节点的位置很明显 - 在图表的底部。但如果我切换到“fdp”布局,就很难把它们弄出来。

我如何 style/color 在生成点文件的过程中使这些终端节点不同? (显然我之后可以编辑点文件)

(我不知道 depgraph-maven 能力)。
Graphviz 语言不包含任何条件,但是它包含一种 pre-processor/post-processor 语言 - gvpr (https://www.graphviz.org/pdf/gvpr.1.pdf) 可以轻松地为终端节点着色。
如果您可以使用格式 = canondot (https://graphviz.org/docs/outputs/canon/) 生成输出,则 运行 该文件通过 gvpr 像这样:

gvpr -c 'N{if($.indegree=="0"||$.outdegree=="0"){$.style="filled";$.color="red";};}' myoutputfile 

然后 运行 通过 fdpneatodot 的文件或者你喜欢的任何引擎。