D3.js可折叠树 - 可视化设置的级别数
D3.js collapsable tree - visualise set number of levels
我正在玩这个可折叠树的例子: http://bl.ocks.org/mbostock/4339083
在此示例中,最初仅可视化根及其所有子项。我想知道如何可视化设置数量的级别(例如根和两个附加级别,即根、其子级和根子级的子级(。
我尝试修改collapse(d)
函数,其中我指定根据节点的depth
属性折叠节点。喜欢:
function collapse(d) {
if (d.children && d.depth > 3) {
d._children = d.children;
d._children.forEach(collapse);
d.children = null;
}
}
但是随后没有一个节点折叠,因为d.depth
属性是undefined
的。我深入研究并理解(如果我错了,请纠正我(depth
属性仅在初始化nodes
变量后分配给节点。
var nodes = tree.nodes(root).reverse();
现在我完全被困住了。有什么办法可以做到这一点吗?
我找到了我问题的解决方案。事实证明,节点在调用tree.nodes(root)
之前没有父属性、位置(x、y 坐标(和深度属性,这会计算上述所有属性。所以我所要做的就是在调用collapse
函数之前调用该函数。之后,可以仅折叠那些具有一定深度的节点,这些节点将仅可视化一定数量的级别。
相关文章:
- 如何在谷歌可视化中组合数字和模式格式化程序
- 加载泰坦尼克号可视化数据时出现问题
- 如何使用图表包装函数有条件地格式化谷歌可视化表单元格
- AngularJS&Google可视化-使用状态更改处理程序(Google API)在HTML页面上查看$sco
- Javascript图形可视化工具包,具有高性能(500-1000个节点)
- Google可视化addListener调用函数引用错误
- 如何在web上动态可视化数据集
- 可视化到选择框中
- 从特定系列的谷歌可视化折线图中删除悬停工具提示
- 谷歌图表可视化仪表板数据源问题
- 在可视化中将CSS从悬停更改为单击
- 使用 d3 可视化快速射击的“点击”
- Google 图表 - 设置选择不会滚动到表格可视化中的选定行
- 在谷歌可视化api中将现有列设置为工具提示
- 如何在谷歌可视化地图api中设置zoomLevel
- 如何设置谷歌可视化图表从零
- 将Google可视化折线图hAxis原点设置为其初始值
- D3.js可折叠树 - 可视化设置的级别数
- 如何在Android中设置LineChart (Google可视化)的背景颜色
- 为意大利地区设置谷歌地理地图可视化