我想垂直增加节点之间的空间,为此我发现d3从v3开始具有nodeSize()
,我在堆栈和混淆中发现了类似的问题,并且一切正常。但是在我的情况下,此nodeSize()
无法正常工作。
我创建了一个包含我的代码的js小提琴,但是d3图形与我在dev server bec中包含的Angular和js调用并不完全相同,但是我认为这不会影响此大小问题。这样您可以了解我的工作以及nodeSize()
为何不起作用
http://jsfiddle.net/9428byn7/
编辑:
我只是发现在他们的示例http://bl.ocks.org/robschmuecker/7880033中,nodeSize也不起作用
也许是因为他们正在使用viewHieght和viewWidth,任何解决方案?
最佳答案
确定,如果您阅读文档:
https://github.com/mbostock/d3/wiki/Tree-Layout#size
其状态在文档中明确指出:
size属性与tree.nodeSize互斥;设置tree.size将tree.nodeSize设置为null。
因此,在小提琴(http://jsfiddle.net/9428byn7/)的更新功能中,检查第473行:
你写:
tree = tree.size([newHeight, viewerWidth]);
根据文档以及我们所看到的,这将使您的tree.nodeSize无效。
因此,与其做上面的一行,不如做:
tree.nodeSize([200,600]);
工作代码here。
希望这可以澄清您的担忧!