0

我想将集群节点中的标签移动到顶部而不是中心。虽然我可以创建自己的自定义布局,但在我查看代码时,似乎 DagreClusterLayout 中有一些选项可能会为我执行此操作

我不知道您将如何从 HTML 中执行此操作。所以我开始:

    <ngx-graph class="chart-container" [view]="[800,800]" [links]="links" [nodes]="nodes" [clusters]="clusters" layout="dagreCluster"></ngx-graph>

并将其更改为

    <ngx-graph class="chart-container" [view]="[800,800]" [links]="links" [nodes]="nodes" [clusters]="clusters" [layout]="layout"></ngx-graph>

假设我需要创建一个新对象来更改设置。

在我的组件 TypeScript 文件的标题中,我有:

import { DagreClusterLayout } from '@swimlane/ngx-graph/lib/graph/layouts/dagreCluster';
import { Alignment } from '@swimlane/ngx-graph/lib/graph/layouts/dagre';

和我的身体

    let layout : DagreClusterLayout = new DagreClusterLayout();
    layout.settings = layout.defaultSettings;
    layout.settings.align = Alignment.UP_LEFT;
    this.layout = layout;

但是,我没有正确导入,因为我收到错误:

ERROR in ./src/app/my/my.component.ts
Module not found: Error: Can't resolve '@swimlane/ngx-graph/lib/graph/layouts/dagre' in '(path)\src\app\my'
ERROR in ./src/app/my/my.component.ts
Module not found: Error: Can't resolve '@swimlane/ngx-graph/lib/graph/layouts/dagreCluster' in '(path)\src\app\my'

即使我尝试更改设置不会达到预期的结果,我也会有兴趣知道如何更改设置。

4

1 回答 1

2

我把事情弄得太复杂了,预计我需要进入布局对象。但是 ngx-graph 使用 layoutSettings 为我做到了这一点。

    <ngx-graph class="chart-container" [view]="[800,800]" [links]="links" [nodes]="nodes" [clusters]="clusters" layout="dagreCluster" [layoutSettings]="{
    orientation: 'LR',
    marginX: 5,
    marginY: 5,
    edgePadding: 100,
    rankPadding: 20,
    nodePadding: 5,
    multigraph: true,
    compound: true,
    align: 'UL'
  }"></ngx-graph>
于 2019-06-26T11:00:59.753 回答