强制执行显式节点创建(dot、graphviz)
Enforce explicit node creation (dot, graphviz)
我正在处理一个包含大量节点的大图,该图以点 dot -Tsvg graph.gv -o graph.svg
呈现。
为了保持概览,我 "explicitly" 定义了我在图表开头使用的所有节点。
现在我正在寻找一种方法来确保只使用那些 "explicitly" 定义的节点,并且我不会在边定义上得到 "implicitly" 创建的节点(例如节点中的拼写错误姓名).
下图的渲染不应该工作,或者在渲染时警告我使用了 "implicit" 节点。
graph main_graph {
// explicit node definition
node1[style=filled, color=grey];
node2[style=filled, color=grey];
node3[style=filled, color=grey];
subgraph graph1 {
edge [color=red,penwidth=2]
node0 -- node2; //node0 implicitly defined
}
subgraph graph2 {
edge [color="blue",penwidth=2]
node2 -- node3;
node1 -- node3;
}
}
不存在官方支持。
我使用了如下提示。
1.为隐式节点添加标记
graph main_graph {
// explicit node definition
node1[style=filled, color=grey];
node2[style=filled, color=grey];
node3[style=filled, color=grey];
// ---- lower boundary of explicit node definition ----
// default node attribute used for the detection of implicit node definition
node[label="IMPLICITLY-DEFINED"]
subgraph graph1 {
edge [color=red,penwidth=2]
node0 -- node2; //node0 implicitly defined
}
subgraph graph2 {
edge [color="blue",penwidth=2]
node2 -- node3;
node1 -- node3;
}
}
2。找到隐式定义节点的标记
$ dot -Tplain graph.gv | awk '/IMPLICITLY-DEFINED/{print }'
node0
测试版本:macOS 上的 graphviz 版本 2.40.1 (20161225.0304)
我正在处理一个包含大量节点的大图,该图以点 dot -Tsvg graph.gv -o graph.svg
呈现。
为了保持概览,我 "explicitly" 定义了我在图表开头使用的所有节点。
现在我正在寻找一种方法来确保只使用那些 "explicitly" 定义的节点,并且我不会在边定义上得到 "implicitly" 创建的节点(例如节点中的拼写错误姓名).
下图的渲染不应该工作,或者在渲染时警告我使用了 "implicit" 节点。
graph main_graph {
// explicit node definition
node1[style=filled, color=grey];
node2[style=filled, color=grey];
node3[style=filled, color=grey];
subgraph graph1 {
edge [color=red,penwidth=2]
node0 -- node2; //node0 implicitly defined
}
subgraph graph2 {
edge [color="blue",penwidth=2]
node2 -- node3;
node1 -- node3;
}
}
不存在官方支持。
我使用了如下提示。
1.为隐式节点添加标记
graph main_graph {
// explicit node definition
node1[style=filled, color=grey];
node2[style=filled, color=grey];
node3[style=filled, color=grey];
// ---- lower boundary of explicit node definition ----
// default node attribute used for the detection of implicit node definition
node[label="IMPLICITLY-DEFINED"]
subgraph graph1 {
edge [color=red,penwidth=2]
node0 -- node2; //node0 implicitly defined
}
subgraph graph2 {
edge [color="blue",penwidth=2]
node2 -- node3;
node1 -- node3;
}
}
2。找到隐式定义节点的标记
$ dot -Tplain graph.gv | awk '/IMPLICITLY-DEFINED/{print }'
node0
测试版本:macOS 上的 graphviz 版本 2.40.1 (20161225.0304)