使用 graphviz 在角落绘制文本
Draw text in corners with graphviz
我有一个非常简单的图表:
digraph {
node [shape=rect];
rankdir=LR;
A -> B
}
如我所料输出:
但是,我需要在A和B的每个角落放置唯一的数字。我目前只知道xlabel
,但据我所知只能使用一次并且不能在a中指定特定区域。那么怎样才能做到每个角都写数字呢?
Graphviz 的最新版本支持 HTML 节点样式,包括 tables(即 "newer than mid-November 2003")。所以你可以像这样制作一个 3x3 table:
来源:
digraph {
node [shape=rect];
rankdir=LR;
A [shape=none label=<
<TABLE BORDER="0" CELLBORDER="0">
<TR><TD>1</TD><TD></TD><TD>2</TD></TR>
<TR><TD COLSPAN="3" BORDER="1">A</TD></TR>
<TR><TD>3</TD><TD></TD><TD>4</TD></TR>
</TABLE>
>];
A -> B
}
使用 http://sandbox.kidstrythisathome.com/erdos/ 测试;它也适用于我本地安装的版本 (2.38.0)。
请参阅 Graphviz: Node Shapes 了解完整的受支持 HTML 集和示例。
我有一个非常简单的图表:
digraph {
node [shape=rect];
rankdir=LR;
A -> B
}
如我所料输出:
但是,我需要在A和B的每个角落放置唯一的数字。我目前只知道xlabel
,但据我所知只能使用一次并且不能在a中指定特定区域。那么怎样才能做到每个角都写数字呢?
Graphviz 的最新版本支持 HTML 节点样式,包括 tables(即 "newer than mid-November 2003")。所以你可以像这样制作一个 3x3 table:
来源:
digraph {
node [shape=rect];
rankdir=LR;
A [shape=none label=<
<TABLE BORDER="0" CELLBORDER="0">
<TR><TD>1</TD><TD></TD><TD>2</TD></TR>
<TR><TD COLSPAN="3" BORDER="1">A</TD></TR>
<TR><TD>3</TD><TD></TD><TD>4</TD></TR>
</TABLE>
>];
A -> B
}
使用 http://sandbox.kidstrythisathome.com/erdos/ 测试;它也适用于我本地安装的版本 (2.38.0)。
请参阅 Graphviz: Node Shapes 了解完整的受支持 HTML 集和示例。