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 に答える