【问题标题】:Graphviz render nodes in subgraph, why?Graphviz 在子图中渲染节点,为什么?
【发布时间】:2014-06-11 17:12:18
【问题描述】:

我想显示一个节点 a 指向一个节点 bb 在子图中。 以下 dot graphviz 代码应该可以工作。

digraph
{
    a;

    subgraph cluster_mysubgraph
    {
        a->b;       
    }
}

唉,虽然节点 a 在任何子图之外声明,但它在 mysubgraph 内呈现(在 Ubuntu 14.04 上的 graphviz 2.36.0 上观察到):

我尝试过诸如预先声明 b 之类的变体。没有成功。

一种解决方法是在另一个集群子图中声明a

digraph
{
    subgraph cluster_pseudo
    {
        a;
    }

    subgraph cluster_mysubgraph
    {
        a->b;       
    }
}

这可以防止a 出现在mysubgraph 中,但是另一个子图并不是一个真正的选择。

a 确实应该在任何子图之外。

问题

  • 应该是这样的吗?
  • 是否有保留预期外观的解决方法?

【问题讨论】:

    标签: graphviz dot subgraph


    【解决方案1】:

    看起来像以下作品:

    digraph
    {
        a;
    
    
        subgraph cluster_mysubgraph
        {
            b;
        }
    
        a->b;
    
    }
    

    因此,可能会有一些规则,例如:“在子图中声明节点,注意在子图中声明边,因为这往往会使节点附加到该子图(除非它们已经附加到另一个)”。

    可能是这样,但是当生成一个点文件时,一次生成节点和边更容易,在我的例子中,这使得在同一个子图中声明节点和边。

    【讨论】:

      猜你喜欢
      • 2014-11-03
      • 2020-01-03
      • 1970-01-01
      • 2019-12-08
      • 1970-01-01
      • 2018-08-23
      • 1970-01-01
      • 2017-11-16
      • 2021-10-04
      相关资源
      最近更新 更多