Graphviz 节点中的左对齐通过 HTML 在 Python 中格式化
Left Justifications in Graphviz Nodes via HTML Formatting in Python
我正在使用 the Python graphviz library,我的节点格式为 HTML。
我的 python 代码生成了这个节点:
MyNode [label=<{Topic|<b>SubHeader</b>|field1: int<BR/>fields: dict<BR/>}>]
我想左对齐最后一个(字段)部分的文本。
如何只为最后一节添加对齐说明?
Graphviz 支持添加 \l
作为理由转义码,但它似乎不适用于 HTML 格式的节点。
同样,我不知道如何将 <p>
标记添加到 HTML 代码。
- 您未能证明您已将节点形状设置为 Mrecord。没有这些信息很难理解你在做什么。下次请包括完整的点程序。
- 哇,你在混合记录形状和 HTML 文本。我很惊讶这甚至是合法的。好像是,太爽了!
- \l, \r, \c 在 HTML 文本中似乎不合法 (https://graphviz.org/docs/attr-types/lblString/)
- 好消息:
<BR ALIGN="LEFT"/>
是合法的。
所以:
graph {
node [shape=Mrecord]
MyNode [label=<{Topic|<b>SubHeader</b>|field1: int<BR ALIGN="LEFT"/>fields: dict<BR ALIGN="LEFT"/>}>]
}
产生:
p.s。 <P>
不是合法的 Graphviz 语法。参见 https://graphviz.org/doc/info/shapes.html(Graphviz 使用 HTML-like 语法。强调 -like)
p.p.s。考虑使用实际的 HTML 类记录。他们提供更多控制权。
3 个版本,2 个使用 html 类记录:
graph {
node [shape=Mrecord]
MyNode [label=<{Topic|<b>SubHeader</b>|field1: int<BR ALIGN="LEFT"/>fields: dict<BR ALIGN="LEFT"/>}>]
node [shape=plaintext]
MyNodeA [label=<<table style="rounded">
<tr><td border="0">Topic</td></tr>
<hr/>
<tr><td border="0"><b>SubHeader</b></td></tr>
<hr/>
<tr><td border="0" align="left">field1: int</td></tr>
<tr><td border="0" align="left">fields: dict</td></tr>
</table>>]
MyNodeB [label=<<table style="rounded">
<tr><td border="0">Topic</td></tr>
<hr/>
<tr><td border="0"><b>SubHeader</b></td></tr>
<hr/>
<tr><td border="0" align="left" balign="left">field1: int<br/>fields: dict</td></tr>
</table>>]
}
给予:
我正在使用 the Python graphviz library,我的节点格式为 HTML。
我的 python 代码生成了这个节点:
MyNode [label=<{Topic|<b>SubHeader</b>|field1: int<BR/>fields: dict<BR/>}>]
我想左对齐最后一个(字段)部分的文本。
如何只为最后一节添加对齐说明?
Graphviz 支持添加 \l
作为理由转义码,但它似乎不适用于 HTML 格式的节点。
同样,我不知道如何将 <p>
标记添加到 HTML 代码。
- 您未能证明您已将节点形状设置为 Mrecord。没有这些信息很难理解你在做什么。下次请包括完整的点程序。
- 哇,你在混合记录形状和 HTML 文本。我很惊讶这甚至是合法的。好像是,太爽了!
- \l, \r, \c 在 HTML 文本中似乎不合法 (https://graphviz.org/docs/attr-types/lblString/)
- 好消息:
<BR ALIGN="LEFT"/>
是合法的。 所以:
graph {
node [shape=Mrecord]
MyNode [label=<{Topic|<b>SubHeader</b>|field1: int<BR ALIGN="LEFT"/>fields: dict<BR ALIGN="LEFT"/>}>]
}
产生:
p.s。 <P>
不是合法的 Graphviz 语法。参见 https://graphviz.org/doc/info/shapes.html(Graphviz 使用 HTML-like 语法。强调 -like)
p.p.s。考虑使用实际的 HTML 类记录。他们提供更多控制权。
3 个版本,2 个使用 html 类记录:
graph {
node [shape=Mrecord]
MyNode [label=<{Topic|<b>SubHeader</b>|field1: int<BR ALIGN="LEFT"/>fields: dict<BR ALIGN="LEFT"/>}>]
node [shape=plaintext]
MyNodeA [label=<<table style="rounded">
<tr><td border="0">Topic</td></tr>
<hr/>
<tr><td border="0"><b>SubHeader</b></td></tr>
<hr/>
<tr><td border="0" align="left">field1: int</td></tr>
<tr><td border="0" align="left">fields: dict</td></tr>
</table>>]
MyNodeB [label=<<table style="rounded">
<tr><td border="0">Topic</td></tr>
<hr/>
<tr><td border="0"><b>SubHeader</b></td></tr>
<hr/>
<tr><td border="0" align="left" balign="left">field1: int<br/>fields: dict</td></tr>
</table>>]
}
给予: