Graphviz中的节点分层

Graphviz中的节点分层,graph,visualization,graphviz,dot,neato,Graph,Visualization,Graphviz,Dot,Neato,我正在使用Graphviz(用neato编译)创建一个图形。此图包含许多重叠的节点,这非常好。然而,有一组大节点,我更喜欢总是位于其他小节点之上——尽管我更喜欢在图中首先定义大节点(这使得它们被绘制在最底部) 我能强迫你吗 编辑: 这里有一个小例子,只是为了澄清我的意思: graph G { node [style=filled,fillcolor=black]; BigNode [fillcolor=skyblue,shape=Msquare]; node [styl

我正在使用Graphviz(用neato编译)创建一个图形。此图包含许多重叠的节点,这非常好。然而,有一组大节点,我更喜欢总是位于其他小节点之上——尽管我更喜欢在图中首先定义大节点(这使得它们被绘制在最底部)

我能强迫你吗

编辑:
这里有一个小例子,只是为了澄清我的意思:

graph G {
    node [style=filled,fillcolor=black];
    BigNode [fillcolor=skyblue,shape=Msquare];

    node [style=filled,fillcolor=red,shape=circle];
    edge [style=invis]
    1 -- BigNode[len=0.5];
    2 -- BigNode[len=1];
}

我想在节点
1
上画
BigNode
,我认为这是不可能的。该官员在第6页到第9页讨论了节点分层。看起来你最多能做的就是调整边的长度和固定节点:你实际上无法控制节点之间的分层方式。

我确实找到了一种(某种)解决方案…
我发现,如果只将节点定义推迟到最后,即使您先前定义了此节点的边,它也将被绘制在最上面。
我意识到这与我之前的定义相矛盾,但这是本例中唯一可能的解决方案,也是我最终不得不使用的解决方案

在我的简短示例中,您可以这样做:

graph G {
    node[style=filled,fillcolor=black];
    // Definition of BigNode moved to the end of the file
    /*BigNode [fillcolor=skyblue,shape=Msquare];*/ 

    node[style=filled,fillcolor=red,shape=circle];
    edge[style=invis]
    1 -- BigNode[len=0.5];
    2 -- BigNode[len=1];

    // Defined after already defining edges for BigNode
    BigNode [fillcolor=skyblue,shape=Msquare];
}

在结果图中,
BigNode
被绘制在节点
1

上,用于上面的确切问题定义,不幸的是,您是对的,没有解决方案。