1

我正在使用 jgraphx 来可视化方法内部的控件。因此,我正在使用mxHierarchicalLayout. 但在结果图中,两个节点之间的距离太大。(见图片)

在此处输入图像描述

我想减少黄色标记的区域。

我添加节点:

Object v1 = graph.insertVertex(parent, u.toString(), u.toString(), 0, 0, 0, 0);

将它们全部设置到同一个位置。之后我使用 mxHierarchicalLayout:

// define layout
mxIGraphLayout layout = new mxHierarchicalLayout(graph);
// layout graph
layout.execute(graph.getDefaultParent());

有没有办法压缩图形用户界面?

4

1 回答 1

1

有两个参数可以定义分层布局上节点之间的间距:

  • intraCellSpacing用于水平间距
  • interRankCellSpacing用于垂直间距(等级、层、层次结构之间的空间)

所以,你正在寻找第二个。

一个紧凑的例子:

var layout = new mxHierarchicalLayout(graph);
layout.edgeStyle=2;
layout.intraCellSpacing=20;
layout.interRankCellSpacing=40;

具有分层布局的紧凑 mxGraph

扩展示例:

var layout = new mxHierarchicalLayout(graph);
layout.edgeStyle=4;
layout.intraCellSpacing=20;
layout.interRankCellSpacing=70;

具有分层布局的扩展 mxGraph

您可以在示例edgeStyle中看到另一个参数,它定义了不同的边缘样式

有关更多信息,请查看mxGraph 分层布局文档

亲切的问候

于 2018-01-18T16:02:57.823 回答