JavaScript is required

Dagre 布局接入与连线标签定位

这是一个 relation-graph 示例:先渲染自定义节点卡片并测量实时尺寸,再在外部运行 Dagre,将计算坐标回写到固定布局场景。它还保留了正交带标签连接线、小地图覆盖层,以及导出和运行时交互设置等共享画布工具。

在 GraphPilot 中编辑

将 Dagre 集成到固定布局的 relation-graph 查看器中

这个示例构建了什么

这个示例构建了一个全高的 relation-graph 查看器,用于加载静态有向图,让图先渲染一次,以便为每个节点卡片测量尺寸,然后运行 Dagre,并把计算出的坐标写回到当前场景中。最终得到的是一个包含更大根节点卡片、更小矩形子节点卡片、正交带标签连线、浮动说明与设置窗口以及缩略图覆盖层的图。

用户不会交互式调节布局。图会在挂载时自行完成布局,之后用户可以平移、缩放、通过缩略图查看整体结构、打开画布设置、拖动或最小化辅助窗口,以及导出图片。这个示例的主要教学价值在于“外部布局结果回写”的集成模式,而不是内置布局预设。

数据是如何组织的

图数据在 initializeGraph() 内以内联方式声明为一个 RGJsonData 对象。它使用 rootId、扁平的 nodes 数组和扁平的 lines 数组。源数据中的节点只包含 id 和 label。位置被有意省略,因为这些位置会在后续由 Dagre 计算。

在最终布局出现之前,还有一些关键的预处理。