问题标签 [dagre]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
167 浏览

jointjs - 结合 Dagre 在 JointJS 中按类型对节点进行排名

我想知道是否/如何根据某种类型对节点进行排名。所以让我们说 Dependend 我想与当前节点和下面的子节点和上面的父节点在同一级别上对齐。

这可能吗?我现在使用 Dagre 来对齐我的节点,但我想要更多地控制。

亲切的问候,凯文

0 投票
1 回答
727 浏览

css - cytoscape:Dagre-layout 防止节点放置在边缘

我正在使用带有 dagre 布局的 cytoscapejs ( https://github.com/cytoscape/cytoscape.js-dagre )。我对这个扩展非常满意,但是,我正在努力解决一个问题。特别是,我想防止节点被允许放置在边缘上。因此,有些示例无法区分从节点到后继节点的边和从特定节点的后继节点到后继节点的边。关于这种不当行为还有一个未解决的问题(https://github.com/cytoscape/cytoscape.js/issues/1078

我已经尝试过其他曲线样式的布局,例如“段”和“干草堆”,但不幸的是没有成功。

你们中有人知道怎么做吗?

提前致谢

安迪

0 投票
1 回答
2516 浏览

javascript - 如何使用 Dagre 获得水平视图?

我愿意Dagre在我的 html 中使用。这是我的js代码:

结果默认为垂直视图:

是否有可能通过这样使用使其成为水平视图Dagre在此处输入图像描述

0 投票
2 回答
1524 浏览

javascript - 嵌入单元格时如何使用 JointJS 有向图?

今晚,我尝试在 JointJS 网站上的一个示例上执行有向图。请参阅离散事件示例:

http://resources.jointjs.com/demos/devs

即使源代码链接未正确映射,我还是在这里找到了它:

https://raw.githubusercontent.com/clientIO/joint/master/demo/devs/src/shapes.devs.js

我处于无法预测放置对象的位置的情况,就像在演示中一样。因此,我依靠 DirectedGraph 来完成这项工作。因此,作为一个简单的示例,我只是将以下内容放在代码末尾,看看会发生什么:

控制台中的通知发出错误:

“未捕获的类型错误:无法设置未定义的属性 'rank'”-dar.core.js 3085

这是我在软件中遇到的确切问题。到目前为止,我发现的唯一解决方案是删除任何嵌入的单元格。这是一个错误还是演示已过时?我搜索了文档但收效甚微。有人遇到过这个问题吗?任何人都可以让演示与 DirectedGraph 一起工作吗?

0 投票
1 回答
386 浏览

cytoscape.js - Cytoscape.js 选择折叠的节点

我试图用 Cytoscape.js 构建一个 Petri 网,使用 Dagre.js 布局和复合节点来表示依次是子网的地方。我使用 Expand-Collapse 扩展(Dagre 布局),从一个整体折叠的网络开始。随着网络的发展,我需要更新每个节点上的数据,包括用户可能决定是否扩展的折叠节点的子节点。这是问题所在:我无法选择折叠节点内的节点,也无法使用 IsParent() 或任何其他适用于复合节点的函数进行测试,包括“节点 > 节点”等选择器。任何想法 ?谢谢。

0 投票
1 回答
835 浏览

javascript - Dagre D3 中的引导程序未正确呈现

您好,我 在 JavaScript 中使用Dagre D3渲染 Bootstrap 时遇到问题。Dagre D3 是一个基于 D3 的库。第一个问题是星形符号仅在第一个节点中,而不在第二个节点中。为什么?第二个问题是下拉菜单没有正确呈现。它仅在第一个节点中(不在第二个节点中)。当我单击下拉菜单时,不会弹出菜单。有人有解决方案吗?

0 投票
1 回答
319 浏览

angular - Dagre Angular2 SystemJS 模块加载

使用 Angular 2.4.0、tsc 2.3.1,我正在尝试将 Dagre 与 JointJS/graphlib 一起使用,以使用 SystemJS 作为加载器在 Angular2 中绘制图形。

http://www.daviddurman.com/automatic-graph-layout-with-jointjs-and-dagre.html

我不知道如何按照 JointJS 的要求在浏览器中获取“dagre”对象 var dagre = require('dagre');

我的 Angular2 组件包括 import * as dagre from 'dagre';

我的 SystemJS 配置:

无法加载 dagre 会导致 JointJS 在尝试调用 dagre.layout 时出现未定义的错误: Cannot read property 'layout' of undefined

也许这是库无法自行导出的问题,还是我必须在 SystemJS 配置中指定格式?

0 投票
1 回答
395 浏览

javascript - 防止 dagre-d3 中的箭头交叉

我最近开始使用 dagre-d3,我发现它很整洁,直到我需要做更大的图表。该算法会导致这种情况: image here

如上所见,两个节点应由两个箭头连接。然而,Dagre 的算法决定跨越它们,使图变得一团糟。

关于如何防止它的任何想法?

0 投票
1 回答
1915 浏览

cytoscape.js - Cytoscape.js 从 dagre 布局中获取节点位置

为了使边缘像锯齿形,我需要进行一些计算,为此我需要每个节点在布局上的位置,但我在实现这一点时遇到了一些麻烦。

我正在尝试以这种方式获取节点的位置:

但无论id我使用哪个,我总是得到{x: 0, y: 0}价值。

当我添加这样的事件时:

我得到每个节点的位置。

dagre从布局中获取每个节点位置的正确方法是什么?

0 投票
1 回答
1632 浏览

d3.js - vuejs + dagre-d3 工具提示问题

我正在尝试将下图(dagre-d3)集成到我的 vuejs 应用程序中。

我已经成功地在 vuejs 组件中生成了图表。但我无法实现图中提供的工具提示功能。他们正在使用一个名为 Tipsy 的库,当我在纯 html 中运行图形时,它可以正常工作。但是当我在 vue 应用程序中使用时,它会抛出以下错误。

如果我评论下面的部分图生成没有任何问题,但工具提示没有显示。