graphviz 没有换行符(.dot)
graphviz no line break (.dot)
我正在 LinuxArch 上使用 graphviz。如果我打印我的 .svg,我使用命令 dot -Tsvg example.dot -o exampale.svg
。我的图表已打印,效果很好。我阅读了有关该主题的其他一些问题 Link 1, Link 2, also the documentation on graphviz.org 没有给我任何线索。
问题:我想在一个节点中换行。我该怎么做?
以下代码有效,但并非总是有效。完整代码:
digraph G {
//general settings
graph [fontname="Arial"];
node [fontname="Arial"];
edge [fontname="Arial"];
//data of graph
subgraph cluster_1
{
label = "Cluster 1";
style=filled;
color="#E0E0E0";
margin=20;
node [style=filled,color=white];
"I'm text" -> "I want a donat.";
"I want a donat." -> a1[label="Love food,\nlove it so much!"];
}
subgraph cluster_2
{
label = "Cluster 2";
style=filled;
color="#E0E0E0";
margin=20;
node [style=filled,color=white];
Start -> a2[label="sit amet,\nconsetetur"];
a2 ->
{
b2[label="Lorem Impsum\ndollar sit amet."];
}
}
}
结果:(绿色标记有效,问题是红色标记。)
在我看来,您混淆了节点和边声明。
尝试更改行
"I'm text" -> "I want a donat.";
"I want a donat." -> a1[label="Love food,\nlove it so much!"];
进入
a1[label="Love food,\nlove it so much!"];
"I'm text" -> "I want a donat.";
"I want a donat." -> a1;
这实际上是将a1
定义为带有标签的节点。然后可以使用节点 ID a1
来声明节点之间的边。
这是另一个例子,所有节点都有明确的节点声明,然后是使用节点标识符的边声明:
imtext[label="I'm text"];
donat[label="I want a donat."];
a1[label="Love food,\nlove it so much!"];
imtext -> donat -> a1;
我正在 LinuxArch 上使用 graphviz。如果我打印我的 .svg,我使用命令 dot -Tsvg example.dot -o exampale.svg
。我的图表已打印,效果很好。我阅读了有关该主题的其他一些问题 Link 1, Link 2, also the documentation on graphviz.org 没有给我任何线索。
问题:我想在一个节点中换行。我该怎么做?
以下代码有效,但并非总是有效。完整代码:
digraph G {
//general settings
graph [fontname="Arial"];
node [fontname="Arial"];
edge [fontname="Arial"];
//data of graph
subgraph cluster_1
{
label = "Cluster 1";
style=filled;
color="#E0E0E0";
margin=20;
node [style=filled,color=white];
"I'm text" -> "I want a donat.";
"I want a donat." -> a1[label="Love food,\nlove it so much!"];
}
subgraph cluster_2
{
label = "Cluster 2";
style=filled;
color="#E0E0E0";
margin=20;
node [style=filled,color=white];
Start -> a2[label="sit amet,\nconsetetur"];
a2 ->
{
b2[label="Lorem Impsum\ndollar sit amet."];
}
}
}
结果:(绿色标记有效,问题是红色标记。)
在我看来,您混淆了节点和边声明。
尝试更改行
"I'm text" -> "I want a donat.";
"I want a donat." -> a1[label="Love food,\nlove it so much!"];
进入
a1[label="Love food,\nlove it so much!"];
"I'm text" -> "I want a donat.";
"I want a donat." -> a1;
这实际上是将a1
定义为带有标签的节点。然后可以使用节点 ID a1
来声明节点之间的边。
这是另一个例子,所有节点都有明确的节点声明,然后是使用节点标识符的边声明:
imtext[label="I'm text"];
donat[label="I want a donat."];
a1[label="Love food,\nlove it so much!"];
imtext -> donat -> a1;