javascript - tree.nodeSize() 在 D3 TreeMap 中不起作用节点之间的空间

标签 javascript d3.js

我想垂直增加节点之间的空间,为此我发现 d3 从 v3 开始有 nodeSize() ,我在堆栈和 fuddles 上发现了类似的问题,并且一切正常。但在我的例子中,这个 nodeSize() 不起作用。

我创建了一个包含我的代码的 js fiddle ,但 d3 图与我在我的开发服务器中的不完全相同,因为它也包含 Angular 和 js 调用,但我认为这不会影响这个大小问题。这样您就可以了解我做了什么以及为什么 nodeSize() 不起作用

http://jsfiddle.net/9428byn7/

编辑:

我刚刚发现 nodeSize 在他们的示例中也不起作用 http://bl.ocks.org/robschmuecker/7880033

可能是因为他们正在使用 viewHieght 和 viewWidth ,任何解决方案?

最佳答案

好的,如果你阅读文档: https://github.com/mbostock/d3/wiki/Tree-Layout#size 它在文档中明确指出: size 属性与 tree.nodeSize 是互斥的;设置 tree.size 会将 tree.nodeSize 设置为 null。

所以在 fiddle (http://jsfiddle.net/9428byn7/) 的更新函数中检查第 473 行: 你写了:

tree = tree.size([newHeight, viewerWidth]);

根据文档和我们所看到的,这会使您的 tree.nodeSize 无效。 所以不是做上面的行而是做:

tree.nodeSize([200,600]);

工作代码 here .

希望这能澄清您的担忧!

关于javascript - tree.nodeSize() 在 D3 TreeMap 中不起作用节点之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32839957/

相关文章:

javascript - 在 jQuery 中克隆/追加大型 HTML block 但更改内部变量?

javascript - 一种版本的两种格式的 javascript 是否等效?

d3.js - 如何链接 D3 缩放和平移控件

javascript - 使用 D3.csv 在 DC.JS 中加载 CSV 文件

javascript - 如何为 Google 表格制作循环脚本?

javascript - Meteor:通过点击事件更改变量值

javascript - 将 javascript 变量传输到 Objective C (IOS)

javascript - 如何在c3.js折线图或明细图中为区域添加标签?

d3.js - 我可以围绕其中心点顺时针旋转 D3 map 投影吗?

javascript - 单击 d3 中的 svg 文本在鼠标位置上打开 div