0

我注意到,当将多个边连接到单个(矩形)顶点时,它们连接的位置均匀分布在顶点的侧面。有没有办法改变这种行为?我正在使用 mxHierarchicalLayout。

在我的图表中,我希望边缘尽可能笔直(但只有水平和垂直)。这是我目前拥有的:

在此处输入图像描述

例如,为什么边缘“G”会略微弯曲?我希望它在从“PIC”到“W4”的水平直线上。理想情况下,我想更改每个顶点的设置,将边缘连接行为设置为“在你喜欢的地方连接”,并让布局找出边缘产生最少角落的最佳位置。

我知道我可以设置“exitX/Y”和“entryX/Y”,但这需要我手动计算这些值和整个布局过程。我正在寻找一种更好的方法来实现这一目标。

4

1 回答 1

3

您可以尝试使用 Orthogonal edgestyle。

Map<String, Object> EdgeStyle = graph.getStylesheet().getDefaultEdgeStyle();
EdgeStyle.put(mxConstants.STYLE_EDGE, mxEdgeStyle.OrthConnector);
EdgeStyle.put(mxConstants.STYLE_STROKECOLOR, "red");
EdgeStyle.put(mxConstants.STYLE_STROKEWIDTH, 2);

这将使您的边缘类似于下面的边缘。我认为它也应该在没有端口的情况下工作。

在此处输入图像描述

不要忘记在布局中启用边缘样式。

layout.setDisableEdgeStyle(false);
于 2014-08-21T13:33:57.153 回答