0

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

digraph
{
    a;

    subgraph cluster_mysubgraph
    {
        a->b;       
    }
}

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

a 不应该在 b 子图中

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

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

digraph
{
    subgraph cluster_pseudo
    {
        a;
    }

    subgraph cluster_mysubgraph
    {
        a->b;       
    }
}

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

解决方法将一个放在自己的子图中,不好

a真的应该在任何子图之外。

问题

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

1 回答 1

5

它看起来像以下作品:

digraph
{
    a;


    subgraph cluster_mysubgraph
    {
        b;
    }

    a->b;

}

在此处输入图像描述

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

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

于 2014-06-11T17:28:51.347 回答