问题标签 [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 投票
1 回答
298 浏览

d3.js - dagre-d3 与 vuejs2 和手表模式一起使用时的缩放问题

我正在使用 d3-dagre 来呈现数据。最初我可以毫无问题地渲染数据。当我尝试在监视模式下更新相同的视图时,它正在更新数据,但在控制台中仍然会抛出一些错误以进行“g”属性转换。每当我尝试重写 SVG 元素时,我都会删除“svg”标签内的“g”元素。我正在 vuejs2 ui 库中尝试这个。

错误 - 由于以下错误,新加载的数据无法缩放

0 投票
0 回答
1133 浏览

graphviz - 布局有向图:边交叉节点

我目前正在尝试使用 Cytoscape.js 和 cytoscape-dagre 显示流程。虽然这种组合对于简单的过程(或图形)做得很好,但我无法解决边缘交叉节点的问题。

以下由GraphViz的点引擎渲染。看看“QS-Daten anlegen”和“Buchhaltungsdaten anlegen”之间的路径:节点位于一条直线上,边缘避免穿过节点。 看看之间的路径

由 cytoscape.js 和 cytoscape-dagre 呈现的相同图表。节点位置相似,但不在直线上。边不考虑节点位置。 节点位置相似,但不在直线上。 边不考虑节点位置。

我试图通过调整 lyout 等选项来改善结果nodeSepedgeSep但主要问题仍然存在:节点之间的单线不考虑其他节点位于该边缘的直线路径上。

我不确定这是否与布局算法有关,即 cytoscape-dagre 或者 cytoscape.js 是否根本不允许布局插件弯曲边缘。

当然,我不知道如何让 cytoscape 像 GraphViz 的点引擎那样渲染该图形。

在此先感谢新路凯

0 投票
1 回答
1490 浏览

angularjs - 如何以正确的高度渲染 dagre-d3 节点标签?

基于此示例,我使用 dagre-d3 在 angularjs 指令中呈现图形。

它适用于节点上的简单标签:

但是当我想像这样在每个节点上呈现更多内容时:

然后每个节点的大小不适合节点内容。在此处输入图像描述

经过一番谷歌搜索,我了解到节点的高度是由 dagre.core.js 计算的。我检查 lib 是否正确加载。现在,我不知道该去哪里找。有谁知道如何正确渲染节点?

0 投票
0 回答
443 浏览

subgraph - Dagre.js 从子节点到父节点绘制边缘:未捕获类型错误:无法设置未定义的属性“等级”

我目前正在为我的可视化项目使用 dagre.js。这个图书馆很棒。

我到了需要创建嵌套图的地步,因此一个节点可以包含在另一个节点(父节点)中,我能够做到这一点。但是我无法从子节点到父节点绘制一条边,每当我尝试这样做时,都会出现以下错误:

未捕获的类型错误:无法设置未定义的属性“等级”。

我不知道是什么原因造成的,但如果你能帮忙,请做。

非常感谢,迈克尔

0 投票
0 回答
33 浏览

javascript - 为什么 webpack 会在我的外部库中添加一个 './'?

我正在使用 webpack 来构建开发和产品代码。我在 webpack.config.js 中正确添加了一个外部库,如下所示:

当然,我也正确添加了 index.html 的 src 链接,如下所示:

开发服务器工作正常,我可以毫无问题地使用该库。但是当我构建 prod 服务器时,出于某种原因,“./”被附加到“src”的头部。所以源变成了这样:

这会破坏服务器。我想知道为什么它不同。webpack.prod.config.js 和 webpack.dev.config.js 都使用 extern 加载相同的配置:

非常感谢~!

0 投票
1 回答
153 浏览

javascript - 如何通过 Dagre 传递附加属性?

我正在使用 Dagre 来布局我的图表,并且需要发送其他属性以稍后在 cytoscape 中设置类/样式。

val1使用 迭代边时如何访问附加属性graph.edges()

0 投票
1 回答
317 浏览

javascript - 在 dagre-d3 中拖动节点时缺少结束箭头

我有一个简单的图,父节点是多边形,子节点是矩形。这两个节点之间有一条边。这里的问题是,一旦我们拖动任何节点,连接到多边形的末端箭头就会丢失。谁能帮我弄清楚为什么那个末端箭头不见了。示例小提琴可在评论中找到。

0 投票
1 回答
802 浏览

javascript - 更改 SVG 内容时保留 d3 缩放状态?

我正在使用 d3 渲染一些东西,并使用d3.zoom鼠标进行缩放。它有效,但我还需要定期更改 svg 的内容(进行完整$('svg').html($('svg').html())调用,因为我的 SVG 包含 HTML)。

问题是当我这样做时,我失去了缩放状态。我试图通过存储缩放变换并在更新后重新应用它来跟踪它,但它不起作用。

这是我的尝试,使用 dagre-d3 示例图。

简而言之,这就是我正在做的事情:

0 投票
0 回答
269 浏览

dagre-d3 - 如何提高 Dagre js 计算性能

我正在使用 Dagre 在前端为大约 700 个节点和 700 个边的图形生成图形坐标,目前生成大约需要 1.5 到 2 秒(这是在渲染之前)。我应该如何优化这个,有没有已知的方法来加速它?

例如,我已经知道图形是有向的、非循环的和拓扑排序的(在 API 中验证),所以可以以某种方式跳过这部分算法吗?

另一种方法可能是首先尝试减小图形的大小,方法是按照下图“聚类”封闭组(然后可以在 ui 中单击时展开)。任何已知的算法来实现这一点?

在此处输入图像描述

0 投票
1 回答
705 浏览

javascript - dagre-d3- 使长文本适合节点内

在 setNode 中,我们也可以指定 html。如果我提到宽度和高度,如果它是长文本,它正在移出。

我试图给 div 宽度,但它不工作示例小提琴

如何使文本适合节点内?