antvis / layout

Layout algorithms for graphs.
207 stars 55 forks source link

使用DagreLayout布局时,ranker参数无效,无论设置成什么,布局样式还是不变。 #234

Open tuyamanke opened 2 months ago

tuyamanke commented 2 months ago

我看这个 issue https://github.com/antvis/layout/issues/206 中也提到了这个问题,当节点最终有汇合的时候 ranker 参数就不能正常工作。image 使用DagreLayout布局时,ranker参数无效,无论设置成什么,布局样式还是不变。 我用的npm依赖:

import { Graph as GraphLibGraph } from '@antv/graphlib';
import { DagreLayout, EdgeData, NodeData } from '@antv/layout'
const dagre = new DagreLayout({
      rankdir: 'TB',
      ranksep: 80,
      ranker: 'network-simplex',
      nodeSize: nodeData => {
          return [nodeData.data.width, nodeData.data.height]
      }
  });
  const layoutPosition = await dagre.execute(graphLibGraph)

也尝试了下面这种使用方法,也不行。辛苦大佬帮忙看一下具体是什么原因呢?

const option: DagreLayoutOptions = {
    rankdir: 'TB',
    ranksep: 80,
    ranker: 'network-simplex',
    nodeSize: nodeData => {
        return [nodeData.data.width, nodeData.data.height]
    }
}
const dagre = new DagreLayout(option);
const layoutPosition = await dagre.execute(graphLibGraph, option)
kingyue737 commented 2 days ago

你好,想请教一下怎么对X6的图使用@antv/layout1.2.14-beta.8版本。我试了下好像不兼容