【问题标题】:Graphviz – horizontal edges between nodesGraphviz - 节点之间的水平边
【发布时间】:2012-05-09 14:14:08
【问题描述】:

晚上好,我正在尝试使用 graphviz 生成图表。

我不知道如何在某些节点之间模拟水平边。我使用下面的代码来生成这个图表:

digraph{ rankdir=LR;
//{rank=same; "[0]"; "[10B1]"; "[62]"; "[8]"; "[9]"; "[10]";}
"[0]"->"[37]"; "[37]"->"[4]"; "[37]"->"[8]";
"[8]"->"[9]"; "[9]"->"[10]"; "[62]"->"[8]";
"[0]"->"[10B1]"; "[10B1]"->"[62]"; "[0]"->"[2]";
"[2]"->"[3]"; "[7]"->"[8]"; "[4]"->"[7]";
}

我想将节点 [8]、[10B1]、[62]、[8]、[9] 和 [10] 对齐在一条水平线

【问题讨论】:

  • 在这里,您可以与世界各地的人们交谈,某地是晚上,某地是午夜,某地是早晨 :)
  • @SaeedAmiri 对 :-)。但祝大家有美好的一天:-)。

标签: graph graphviz dot


【解决方案1】:

另一种解决方案是让必须对齐的节点共享group 属性的相同值:

digraph{
rankdir=LR;

node[group=main];
"[0]"; "[10B1]"; "[62]"; "[8]"; "[9]";
node[group=""];

"[0]"->"[37]";
"[37]"->"[4]";
"[37]"->"[8]";
"[8]"->"[9]";
"[9]"->"[10]";
"[62]"->"[8]";
"[0]"->"[10B1]";
"[10B1]"->"[62]";
"[0]"->"[2]";
"[2]"->"[3]";
"[7]"->"[8]";
"[4]"->"[7]";
}

您可以通过调整weight 或对某些边缘使用constraint=false 来实现类似的效果。

这是an other example using groupother example using weight(同样的问题)。

【讨论】:

【解决方案2】:

您需要将这些节点放在cluster 中。在该集群中,您可以设置 rank=lr 以使节点从左到右放置。在将连接边添加到图的其余部分之前,请务必定义集群和所需的节点。

【讨论】:

  • 谢谢,就是这样:-)。
猜你喜欢
  • 2021-11-30
  • 2017-12-19
  • 2021-01-27
  • 2020-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多