// 初始化gojs布局相关 function ContinuousForceDirectedLayout() { go.ForceDirectedLayout.call(this); this._isObserving = false; } go.Diagram.inherit(ContinuousForceDirectedLayout, go.ForceDirectedLayout); // 初始化gojs function initGraph() { var $ = go.GraphObject.make; myDiagram = $(go.Diagram, 'myDiagramDiv', { layout: $(ContinuousForceDirectedLayout, { defaultSpringLength: 30, defaultElectricalCharge: 100 }), SelectionMoved: function (e) { e.diagram.layout.invalidateLayout(); } }); } 为什么这个引力布局,几个结点串在一起的时候,默认是纵向展示的
时间: 2024-01-02 09:05:11 浏览: 51
这是因为 `go.ForceDirectedLayout` 布局算法默认会使得布局中的节点形成一条链,即横向或纵向排列。如果要改变节点的排列方向,需要对布局算法进行一些设置。
在这个代码中,通过设置 `defaultDirection` 属性可以指定节点排列的方向。默认值为 `go.LayoutDirection.Down`,表示垂直向下排列。如果需要水平排列,可以将其设置为 `go.LayoutDirection.Right`。
例如,可以在 `ContinuousForceDirectedLayout` 的构造函数中添加以下代码:
```
this.defaultDirection = go.LayoutDirection.Right;
```
或者在 `initGraph` 函数中的布局设置中添加以下代码:
```
defaultDirection: go.LayoutDirection.Right
```
这样就可以将节点的排列方向设置为水平排列。
阅读全文