Graphviz:使用内联表示法指定节点的样式
我有一个图表,看起来像:Graphviz:使用内联表示法指定节点的样式,graphviz,dot,Graphviz,Dot,我有一个图表,看起来像: digraph R { rankdir=LR "foo" -> "bar"; } 现在我希望foo的节点样式是正方形,bar是圆形。此外,在后续使用中,也应如此,例如: digraph R { rankdir=LR "foo" -> "bar" [label="qux1"]; "baz" -> "foo" [label="qux2"]; } 那么foo应该是一个正方形。有没有办法使用此内联文档来指定这一点 注意!我知道我可以写:
digraph R {
rankdir=LR
"foo" -> "bar";
}
现在我希望foo的节点样式是正方形,bar是圆形。此外,在后续使用中,也应如此,例如:
digraph R {
rankdir=LR
"foo" -> "bar" [label="qux1"];
"baz" -> "foo" [label="qux2"];
}
那么foo应该是一个正方形。有没有办法使用此内联文档来指定这一点
注意!我知道我可以写:
digraph G {
{
node1 [shape=box, label="foo"]
node2 [shape=circle, label="bar"]
node1 -> node2 [label="qux"]
}
}
但这不是我想要的。我想使用这种特定的内联表示法。您所要求的是不可能的-不幸的是,没有其他答案 如果您查看以下内容:
边的组成不包含节点属性。允许节点属性的唯一语句是节点stmt。您所要求的是不可能的-不幸的是,没有其他答案 如果您查看以下内容:
边的组成不包含节点属性。允许节点属性的唯一语句是节点。如上所述,dot语言语法不支持此操作。解决方法可以通过使用子图来完成:
digraph G {
subgraph { nodefoo [label="foo", shape=box]; } ->
subgraph { nodebar [label="bar", shape=circle]; }
[label="qux"];
}
如上所述,dot语言语法不支持这一点。解决方法可以通过使用子图来完成:
digraph G {
subgraph { nodefoo [label="foo", shape=box]; } ->
subgraph { nodebar [label="bar", shape=circle]; }
[label="qux"];
}