0

在使用 mxCircleLayout 时,可以指定一个半径。然而,半径似乎只影响半径大于基于图形边界的默认值的图形。在查看 mxCircleLayout 的源代码(JGraphX 3.3.1.1)时,第 230 行有:

        double r = Math.max(vertexCount * max / Math.PI, radius);

其中“r”用作圆形布局的半径。这不应该是

        double r = Math.min(vertexCount * max / Math.PI, radius);

如果我想要更小的半径?也许我误解了“半径”的含义,但对于一个圆来说,它应该具有自然意义。改变线给了我想要的(更小的)圆圈。

4

1 回答 1

0

max用于确保顶点不重叠。请参阅声明开头的评论execute

    // Moves the vertices to build a circle. Makes sure the
    // radius is large enough for the vertices to not
    // overlap

但是,这似乎确实使用了最大顶点的边界,如果顶点具有不同大小且最大值远大于平均值,则这不是很有用。

于 2016-03-16T13:54:19.923 回答