有谁知道如何在节点的标签中添加换行符?\n 不工作 - 而是出现了一些新节点。
问问题
36480 次
5 回答
67
这对我有用,如记录:
digraph {
n[label="two\nlines"]
"on\nthree\nlines"
}
要么放入标签属性(我的偏好),要么将其用作节点的名称,但始终用双引号括起来。
于 2012-05-31T22:08:13.857 回答
8
尝试“ \\n
”有效:dot.node('test', label="line1\\nline2")
。
于 2015-03-02T14:15:37.233 回答
6
你可以使用\n
字符
有了graphviz
包,这会给
from graphviz import Digraph
d=Digraph()
d.node('test',label='line 1\\nline 2')
print(d.source)
这会给
digraph {
test [label="line 1\nline 2"]
}
于 2016-11-20T18:51:11.937 回答
1
这个问题对我来说也很重要,因为我使用 graphviz 生成详细的 UML 图并且需要在标签中使用转义字符。但是,使用 Python 包时,我遇到了如何处理转义字符的错误,因此一些推荐的解决方案不起作用。
例如:
from graphviz import Digraph
d=Digraph()
d.node('test',label='line 1\\nline 2')
print(d.source)
生成以下内容(注意转义不起作用):
digraph {
test [label="line 1\\nline 2"]
}
诸如使用单个反斜杠、原始字符串之类的解决方法非常无效。但是,最终起作用的解决方法如下:
s = graphviz.Source(d.source.replace('\\\\', '\\'))
s.render('my_uml')
我不知道这个处理转义字符的错误是在 Python 绑定(v0.12)还是在 graphviz 本身(v2.44)中,但由于其他人可能会遇到它,我想提供这个解决方案。
于 2021-02-09T19:25:03.573 回答