在Graphviz中跨越多行的记录

9
我正在尝试用点语言来可视化一个相当复杂的结构。 由于记录很大,我想将代码写在多行中。因此,与其写成这样:

A11[label="A.11 Access Control|{A.11.1 Business requirements for access control|A.11.2 User access management}|{A.11.3 User responsibilities|A.11.4 Network access control}|{A.11.5 Operating System access control|A.11.6 Application & information access control}|A.11.7 Mobile computing & teleworking"];

我想要输入类似这样的格式。
A11[label="A.11 Access Control|
           {A.11.1 Business requirements for access control|A.11.2 User access management}|
           {A.11.3 User responsibilities|A.11.4 Network access control}|
           {A.11.5 Operating System access control|A.11.6 Application & information access control}|
           A.11.7 Mobile computing & teleworking"];

很遗憾,Dot解析器抱怨“字符串超出行末”或类似的问题。有谁知道如何在代码中表示换行?我尝试在行尾使用\,但好像不起作用。
提前感谢。
1个回答

10
我猜想您想要类似这样的内容:

我猜测您想要类似以下内容:

graph G{
A11[label="A.11 Access Control|\n\
{A.11.1 Business requirements for access control|A.11.2 User access management}|\n\
{A.11.3 User responsibilities|A.11.4 Network access control}|\n\
{A.11.5 Operating System access control|A.11.6 Application & information access control}|\n\
A.11.7 Mobile computing & teleworking"];
}

您也可以像这样做
label = "line1\n" +
        "line2\n" + ...

4
嗨,livibetter。不,那不是我的意思。我只想在源代码中使用多行,这样可以更容易地进行编辑。所以你的解决方案没有使用\n,而是只用\就可以了。 - er4z0r
2
我猜你希望结果也能够快速显示多行,因为我看到结果中有一行非常长的代码。无论如何,我很高兴我仍然可以帮上忙,并处理多行显示。 - livibetter
任何想法为什么这在http://magjac.com/graphviz-visual-editor/中不起作用?我尝试复制粘贴上面的内容,插入`A11[ shape = Mrecord, label= ...,但只得到一个节点,里面只有"A11",没有其他文字!此外,如果我将label="A.11 Access Control|\n`更改为label="A.11 Access Control|"+并在下一行添加一个双引号,我得到"错误:期望...但找到"+"? - sdbbs
有没有想法为什么在http://magjac.com/graphviz-visual-editor/中无法正常工作?我尝试复制粘贴上面的内容,插入`A11[ shape = Mrecord, label= ...,但只得到一个只有"A11"节点,没有其他文本的结果!另外,如果我将label="A.11 Access Control|\n`更改为label="A.11 Access Control|"+并在下一行添加一个双引号,我会得到"ERROR: expected ... but "+" found"的错误提示? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接