【问题标题】:Change edge placement from beneath to above nodes in Graphviz在 Graphviz 中将边缘位置从节点下方更改为上方节点
【发布时间】:2013-05-22 12:37:27
【问题描述】:

我花了一些时间使下面的图表看起来像现在一样,我几乎满意了。仍然困扰我的一件事是,为了美观,D和B之间的连接应该高于所有节点。

有趣的是,为边缘提供端口并没有给dot留下深刻印象,这只会使边缘穿过连接的节点。

您知道如何避免这种情况吗?

digraph {
    graph [splines=ortho, nodesep=0.2, fontname="DejaVu Sans", rankdir=LR]
    node [shape=box, fontsize=8]
    edge [arrowsize=0.5]

    subgraph cluster {
        style=invis;
        A -> B -> C;
        A -> B -> C;
        A -> B -> C -> D;
        D -> E;
        D:nw -> B:ne;
    }
    {
        D -> F -> { C; E };
    }
}

PS:您需要最新的 Graphviz 版本才能get orthogonal edges。

【问题讨论】:

  • +1:正交边缘对我来说是新的。看起来不错,除了您发现的问题。我注意到您参考的文档说 Currently, the routing does not handle ports or, in dot, edge labels 这可能是问题的原因。我认为在 D 和 B 之间插入一个不可见的节点可能有助于解决问题,但我尝试了各种方法,但都没有改善问题。我会进一步考虑。

标签: graphviz dot


【解决方案1】:

这可能与您使用的引擎版本有关。我不确定 GraphViz Workspace http://graphviz-dev.appspot.com/ 使用什么版本的 dot,但它确实在顶部运行了您的问题连接器。

【讨论】:

    猜你喜欢
    • 2020-02-19
    • 1970-01-01
    • 2012-10-05
    • 2012-10-10
    • 1970-01-01
    • 2020-07-10
    • 2020-07-23
    • 2012-07-02
    • 2017-10-25
    相关资源
    最近更新 更多