如何仅设置 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) 可以轻松地为终端节点着色。
如果您可以使用格式 = canon 或 dot (https://graphviz.org/docs/outputs/canon/) 生成输出,则 运行 该文件通过 gvpr 像这样:
gvpr -c 'N{if($.indegree=="0"||$.outdegree=="0"){$.style="filled";$.color="red";};}' myoutputfile
然后 运行 通过 fdp、neato、dot 的文件或者你喜欢的任何引擎。
我使用 depgraph-maven-plugin 的 targetIncludes
目标来生成一个点文件,并生成一个图。
当我配置“点”布局引擎时,终端节点的位置很明显 - 在图表的底部。但如果我切换到“fdp”布局,就很难把它们弄出来。
我如何 style/color 在生成点文件的过程中使这些终端节点不同? (显然我之后可以编辑点文件)
(我不知道 depgraph-maven 能力)。
Graphviz 语言不包含任何条件,但是它包含一种 pre-processor/post-processor 语言 - gvpr (https://www.graphviz.org/pdf/gvpr.1.pdf) 可以轻松地为终端节点着色。
如果您可以使用格式 = canon 或 dot (https://graphviz.org/docs/outputs/canon/) 生成输出,则 运行 该文件通过 gvpr 像这样:
gvpr -c 'N{if($.indegree=="0"||$.outdegree=="0"){$.style="filled";$.color="red";};}' myoutputfile
然后 运行 通过 fdp、neato、dot 的文件或者你喜欢的任何引擎。