问题标签 [dagre-d3]

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 回答
24 浏览

javascript - 为什么 ngDirective `template` 允许正确的 `clientHeight` 但 `templateUrl` 给出 0

TL/DR

笨蛋

满的

我有一个plunker可以演示我在说什么。我正在使用一个名为 dagreD3 的 d3 库。它使用以下代码在 svg 中创建一个外来对象...

现在我遇到的问题是当我运行以下代码时......

那么如果我在指令中有这个......

一切看起来都很棒,但是当我将 HTML 移出到外部文件并像这样导入时......

然后 HTML 被正确渲染,但外来对象的宽度和高度为 0。

是什么解释了这一点(假设它与摘要周期有关),有没有办法解决这个限制?

?

0 投票
2 回答
749 浏览

javascript - 更改 dagre-d3 中的默认节点形状

我正在使用 dagre-d3 在 Javascript 应用程序中显示有向图,它的默认节点形状是矩形。我更喜欢省略号,但如果有更改默认值的编程方式对我来说一点也不明显(例如,我宁愿不在 render.js 中修改 NODE_DEFAULT_ATTRS)。有什么建议么?感谢您的关注。

0 投票
1 回答
1249 浏览

cytoscape.js - cytoscape.js dagre 布局段边缘

请参阅下面的 cytoscape.js 与 dagre-d3.js 以获得相同的数据集。

  1. 细胞景观:https ://jsfiddle.net/bababalcksheep/m40m5mmx/6/

  2. dagre-d3:http ://cpettitt.github.io/project/dagre-d3/latest/demo/tcp-state-diagram.html

如何使 cytoscape.js 边缘像 dagre 一样?

任何帮助都感激不尽 !!!

cytoscape-dagre 不应该从 dagre 中挑选点吗?从示例https://jsfiddle.net/bababalcksheep/55cmk117/3/中查看, 其中dagre.layout(g);dagre 在边缘数据中具有点,这些点可能被 cytoscape 段边缘消耗。

0 投票
3 回答
4159 浏览

javascript - dagre-d3 js 缩放适合所有内容

我正在使用基于 d3.js 的 dagre-d3。渲染图表后,我希望它缩放以适应所有内容,并且它必须居中。

如您所见,我可以将其居中,但由于我的身高为 400,我似乎无法容纳所有内容。

请注意,我想要一个应该可用于其他 dagre 情况的解决方案,例如在这种情况下仅缩放到 0.5 就可以,但这不是我想要的。

JSFIDDLE: https ://jsfiddle.net/bababalcksheep/xa9rofm5/8/

代码:

0 投票
1 回答
170 浏览

meteor - 使用 Dagre-D3 和 Meteor

我正在尝试使用 Dagre-D3 创建一个简单的有向图,该图从文本输入中添加节点。

不幸的是,该图只是拒绝绘制..我认为这是因为我的“Nodes.find({}).forEach(function (n) {...”似乎没有运行。

关于什么可能是错的任何想法?我是否错误地使用了 dagre-d3 或流星..?感谢您的帮助!

主.html:

main.js——客户端:

main.js——服务器:

0 投票
0 回答
161 浏览

meteor - dagre-d3 svg 标签未在 Meteor 中呈现

我无法在这里应用 SVG 标签示例:http: //cpettitt.github.io/project/dagre-d3/latest/demo/svg-labels.html到 Meteor。

svg_edge_label 被创建,但不知何故不会出现在边缘!知道 Meteor 有什么独特之处不允许它渲染吗?(我的 Meteor 应用正在使用 perak:dagre-d3 包)

主.html:

主.js:

0 投票
0 回答
804 浏览

javascript - 如何在d3和dagre-d3中找到节点上标签的宽度和高度

我一直在努力从 d3 节点获取标签的宽度和高度。我在节点上有一个图标,它将切换一个子图。但我需要根据标签的大小动态设置节点的宽度和高度。一旦我得到标签的宽度,我就可以为图标腾出空间。标签尺寸可能会改变,所以我需要知道宽度。这是我所拥有的,我正在使用 dagre-d3 来定位和渲染节点:

非常感谢任何帮助。如果需要,很高兴显示更多代码。

更新:

这是我为获取每个节点的文本所做的工作:

以上允许我根据标签+切换图标设置节点的宽度。我遇到的一个问题是,如果一个节点有一个子图,我注意到“svgGroup.selectAll(“tspan”)”只是获取顶级节点。例如,我的节点如下所示:

“svgGroup.selectAll”语句仅获取 id 1 和 id 2 的顶部节点的 tspan。有没有办法获取 id 10 和 id 11 的子图节点的 tspan。因为 id 10 或 11 可能有一个subGraph 嵌套在其中,如果是这种情况,我还需要获取这些节点的标签宽度。

0 投票
2 回答
1035 浏览

javascript - 重新渲染图形时如何保持当前缩放比例和平移级别

我有一个允许平移和缩放行为的 d3 图表。它还具有 subGraph 功能,允许用户展开和折叠 subGraph。当用户单击图标打开和关闭 subGraph 时,此代码运行:

我实质上是在单击图标时添加和删除节点的 subGraph 属性。然后完全重绘图形。

我可以获得父容器的 x 和 y 坐标,但是如果我要重新渲染图形,我该如何渲染图形,以便图形保持与单击时相同的比例和平移切换子图图标。我试图在与之前相同的位置重新绘制图表,只是子图展开或折叠。以下是图表呈现时似乎与我作斗争的代码:

如果我检查是否已单击切换图标,是否可以使用与重绘前相同的比例和平移来重绘图形?

谢谢

0 投票
1 回答
927 浏览

javascript - Dagre / D3 以更大的尺寸渲染节点和边缘/箭头

我有这张图,但看起来节点和边缘/箭头呈现的有点小。该图正在使用 Dagre 进行渲染。我只是想知道是否有一种方法可以使节点和边缘/箭头更大但将它们保持在 svg 内。这可能吗?或者是什么导致这些东西看起来更小?还是这是正常功能?

在此处输入图像描述

同样在这里:是否可以增加节点和边的大小,但保持它与当前的 svg 保持一致?

在此处输入图像描述

谢谢

0 投票
1 回答
2516 浏览

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

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

结果默认为垂直视图:

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