在此示例图中,我希望两个节点(源中的A和B)从相同的y位置开始。特别是,我希望蓝色标题和红色标题处于相同的排名,或者y位置 - 理想情况下尽可能接近图像框的顶部,而不是目前的行为引起。
换句话说,我希望红色标题正好在蓝色标题的位置,就其y位置而言,但就目前而言,似乎所有使用html标签的新节点都显示为相对于最大的html标签节点。
这是另一张图片来说明我的意思:
理想情况下,随着更多节点添加了类似的html标签结构,它们从左向右移动,并从与所有其他节点/标题相同的y位置开始。
不幸的是,我尝试了rank
的许多变体,但我似乎无法使用排名(或其他任何东西)来做这件事。
记录不是可接受的解决方案;我生成的图表中的行数非常大,行数> 400似乎无法通过解析错误为我生成。
请提供一个解决方案,根据以下graphviz源(用于生成带dot -O -Tpng <filename.gv>
的错误图像)生成与良好图形示例图像(第2张图像)非常相似的内容:
digraph example {
node [shape=plaintext]
rankdir=TB
A [label=<
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
<TR>
<TD BGCOLOR="lightblue">HEADER</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
</TABLE>
>];
B [
label=<
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
<TR PORT="header">
<TD BGCOLOR="#d23939" COLSPAN="2">HEADER</TD>
</TR>
<TR>
<TD BGCOLOR="#ff6363">ONE</TD><TD BGCOLOR="#ff6363">TWO</TD>
</TR>
<TR>
<TD PORT="1">1</TD><TD>2</TD>
</TR>
<TR>
<TD PORT="3">3</TD><TD>4</TD>
</TR>
</TABLE>
>];
}
答案 0 :(得分:1)
这是rankdir=LR
的典型示例。辅助节点和边缘是不可见的
digraph example {
rankdir=LR
node [shape=plaintext]
0, 1, 2, 3 [style=invis]
0->1->2->3 [style=invis]
{ rank=same; 0->A [style=invis]}
{ rank=same; 1->B [style=invis]}
A [label=<
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
<TR>
<TD BGCOLOR="lightblue">HEADER</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
<TR>
<TD ALIGN="LEFT">TEST</TD>
</TR>
</TABLE>
>];
B [label=<
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
<TR PORT="header">
<TD BGCOLOR="#d23939" COLSPAN="2">HEADER</TD>
</TR>
<TR>
<TD BGCOLOR="#ff6363">ONE</TD><TD BGCOLOR="#ff6363">TWO</TD>
</TR>
<TR>
<TD PORT="1">1</TD><TD>2</TD>
</TR>
<TR>
<TD PORT="3">3</TD><TD>4</TD>
</TR>
</TABLE>
>];
}