【问题标题】:How can I direct edge to get out of the diamond on the right?我怎样才能引导边缘从右侧的钻石中脱出?
【发布时间】:2011-02-16 09:39:30
【问题描述】:

我有一个简单的点图来展示如何执行测试。

PerformTests;                                     PerformTests<---+
PerformTests -> TestsPassed;                            |         |
TestsPassed [shape="diamond"];                          v         |
TestsPassed -> Release [label="Yes"];             TestsPassed     |
TestsPassed -> FixErrors [label="No"];                 Y|  N\     |
FixErrors -> PerformTests;                              v    FixErrors
                                                     Release 

该图显示了所有节点的方形框,除了具有菱形形状的 TestPassed。我的问题就在这里。我希望钻石外侧的边缘在右侧(东)而不是向右(东南)倾斜。

           What I have        What I want
                ^                  ^    
               / \                / \   
              <   >              <   >--->  
               \ /\               \ /   
                v  \               v    

我在点语法中看到过这样的compass_pt,但不知道如何使用它。我想要什么,怎么做?

【问题讨论】:

标签: graphviz dot


【解决方案1】:

只需在边缘声明(第 5 行)中的节点名称后添加 compass_pt :e。

PerformTests;                                     PerformTests<-----+
PerformTests -> TestsPassed;                            |           |
TestsPassed [shape="diamond"];                          v     N     |
TestsPassed -> Release [label="Yes"];             TestsPassed --> FixErrors
TestsPassed:e -> FixErrors [label="No"];               Y|  
FixErrors -> PerformTests;                              v
                                                     Release 

罗盘点e 代表东(在右侧)。左侧(西)使用w。还有ne代表东北等。

【讨论】:

    【解决方案2】:

    您可能还想尝试使用constraint='false' 属性:

    http://martin-loetzsch.de/DOTML/constraint.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-26
      • 2021-11-27
      • 2011-03-12
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多