【问题标题】:How to get different ranksep for certain ranks如何为某些等级获得不同的等级间隔
【发布时间】:2013-09-22 11:39:39
【问题描述】:

我希望我的底部节点的ranksep 比我的图表的其余部分小。你怎么做到这一点?我似乎找不到正确的语法来为不同的子图分别设置ranksep

这是行不通的 - 所有等级都被相同地分开(大等级间隔和小等级间隔都被忽略):

graph G{
  {  ranksep=1.0; // big separation
     1 -- 2
     1 -- 3
  }
  {  ranksep=0.2;  // small separation
     2 -- 4
     2 -- 5
     3 -- 6
     3 -- 7
  }
}

结果:

【问题讨论】:

    标签: visualization graphviz dot


    【解决方案1】:

    ranksep 是一个图属性(不是子图),不能用于在点中改变同一图中等级之间的距离。

    【讨论】:

    • 那真是太糟糕了。这可以用不可见的节点模拟吗?
    • 您应该能够通过插入不可见节点(例如节点 4 上方的垂直列)来添加不可见等级。或者您可以尝试将一个不可见节点添加到同一等级并应用一些边距(可能使用shape=none, label=" ", margin=1)。或者您使用gvpr 更改最低节点的位置并使用neato 渲染结果图。
    【解决方案2】:

    您可以指定边的最小长度。来自 dotguide :“minlen 定义了头部和尾部等级之间的最小差异”。 请注意,您可能必须同时调整 rankep(全局)和 minlen 以调整图表的方面。

    graph G{
      ranksep=0.1;  // small separation
      {  
         1 -- 2 [ minlen =4]
         1 -- 3 [ minlen =4]
      }
      {  
         2 -- 4
         2 -- 5
         3 -- 6
         3 -- 7
      }
    }
    

    结果:

    【讨论】:

      猜你喜欢
      • 2020-11-10
      • 2022-11-28
      • 2016-10-06
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多