layout: $(ContinuousForceDirectedLayout, { arrangesToOrigin: true, defaultSpringLength: 30, defaultElectricalCharge: 100, gravitationalConstant: 0.5, // 设置重力值 gravity: 50 }),报错如下 gojs.js?_=9.5.0_202103261619:12 Uncaught Error: Trying to set undefined property "gravitationalConstant" on object: ContinuousForceDirectedLayout()
时间: 2024-01-02 11:04:57 浏览: 22
这个错误提示表明 `ContinuousForceDirectedLayout()` 对象没有 `gravitationalConstant` 属性。这是因为在 GoJS 9.4 版本之前,该属性名为 `defaultGravitationalMass`,而在 GoJS 9.4 及以上版本中,该属性名已更改为 `gravitationalConstant`。
因此,请确保你正在使用 GoJS 9.4 或更高版本,并将属性名更改为 `gravitationalConstant`。例如:
```
layout: $(ContinuousForceDirectedLayout, {
arrangesToOrigin: true,
defaultSpringLength: 30,
defaultElectricalCharge: 100,
gravitationalConstant: 0.5, // 设置重力值
gravity: 50
}),
```
相关问题
layout: $(ContinuousForceDirectedLayout, { defaultSpringLength: 30, defaultElectricalCharge: 100 }), 这个布局没法让图形横向排布
如果要让图形横向排布,你可以在布局参数中添加 `orientation: "horizontal"`,例如:
```
layout: $(ContinuousForceDirectedLayout, {
defaultSpringLength: 30,
defaultElectricalCharge: 100,
orientation: "horizontal"
})
```
这样设置后,图形就会按照横向排布。你可以根据需要调整 `defaultSpringLength` 和 `defaultElectricalCharge` 参数以达到最佳效果。
function ContinuousForceDirectedLayout() { go.ForceDirectedLayout.call(this); this._isObserving = false; } go.Diagram.inherit(ContinuousForceDirectedLayout, go.ForceDirectedLayout); layout: $(ContinuousForceDirectedLayout, { defaultSpringLength: 30, defaultElectricalCharge: 100, }), 怎么让元素横向排布
可以通过设置节点的布局属性来实现元素的横向排布。在节点数据中添加一个属性`layerSpacing`来控制节点之间的水平距离,例如:
```
{ key: "Alpha", layerSpacing: 50 }
```
然后在布局对象中设置`direction`属性为`go.LayoutDirection.RightToLeft`,即从右向左布局,例如:
```
layout: $(ContinuousForceDirectedLayout, {
direction: go.LayoutDirection.RightToLeft,
defaultSpringLength: 30,
defaultElectricalCharge: 100
})
```
这样就可以实现节点的横向排布了。如果需要竖向排布,可以将`direction`属性设置为`go.LayoutDirection.Down`。