2

在附图中,节点围绕节点排列成圆形。是否有一种(可能是通用的)方法可以仅在下半圆中排列节点,而不必为节点提供固定坐标?

使用graphviz在圆形路径上排列的节点

编辑:想要实现如下图所示的效果。可以看到 - 所有节点都排列在下半圆形区域中(此图是使用 CMap 工具制作的)。

半圆(用CMap制作)

代码很简单,但无论如何都要粘贴它。

digraph semicircle {

    rankdir="TD"
    graph [nodesep="0.1", ranksep="0.3", center=true]
    mindist="0.4"

    S [label="Root", style="filled", fillcolor="greenyellow", shape="box"]

    subgraph cluster1 {
             rank="same"
             A; B; C; D; 
             S -> {A, B, C, D};
    }    }
4

2 回答 2

1

使用 dot/circo : graphviz 版本 2.40.1 我注意到 circo 从 3 点开始逆时针放置节点。我添加了足够多的不可见节点来填充 2 点到 10 点钟的位置。为了使节点间距离更加均匀,我添加了:

 node [shape=square style=rounded]

我得到的结果是这样的: 在此处输入图像描述

于 2020-02-08T03:34:21.927 回答
0

尝试这个:

digraph semicircle {

    rankdir="TD"
    graph [nodesep="0.1", ranksep="0.3", center=true, root=S]
    mindist="0.4"

    S [label="Root", style="filled", fillcolor="greenyellow", shape="box"]

    subgraph cluster1 {
             rank="same"
             A
             z1[style=invis label=""]
             z2[style=invis label=""]
             B; C; D;

             S -> A
             S -> z1,z2 [style=invis]
             S -> { B, C, D};
    }   
 }
于 2020-02-07T02:24:01.147 回答