我注意到,当将多个边连接到单个(矩形)顶点时,它们连接的位置均匀分布在顶点的一侧。有没有办法改变这种行为?我正在使用mxHierarchicalLayout。
在我的图表中,我希望边缘尽可能直(但只有水平和垂直)。这就是我目前所拥有的:
例如,为什么边缘“G”略微弯曲?我希望它从“PIC”到“W4”的直线水平线。理想情况下,我想将设置边缘连接行为的每个顶点的设置更改为“连接到您喜欢的位置”,并让布局找出边缘最小角落的最佳位置。
我知道我可以设置“exitX / Y”和“entryX / Y”,但这需要我手动计算这些值和整个布局过程。我正在寻找一种更好的方法来实现这一目标。
答案 0 :(得分: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);