这是我使用 d3.js 构建可折叠树布局的努力的延续。
从平面 json 生成(多级)flare.json 数据格式
布局看起来像:(http://bl.ocks.org/mbostock/raw/4339083/)大约有 3k 个节点,一些节点的深度在 25 左右。我需要设置的画布的当前大小是 8000px 宽度和 8000px高度,以便所有节点都可见,当渲染的树级别数为 2 或 3 时,我知道这是不合理的。此外,我打算使此代码可与其他树重用,这些树可能会根据数据源的大小而变小/变大(json 文件)被选中。
所以我想知道是否可以相对于屏幕上显示的节点位置/节点数调整画布大小。这样,代码将更加系统化和适应性强。
我看到了这个:
但这会调整树的大小,如果您可以想象在具有大约 3k 个节点的树的情况下,这会使其难以阅读和理解。
我知道这甚至可能与 d3.js 无关,但我标记了它以解释我的问题并请来可能面临类似情况的 d3 专家。
我还试图根据我的标准过滤掉无信息的节点,以便呈现比实际数据更少的节点。(我知道我会遇到较大树的性能问题)。任何帮助将非常感激。
注意:当我说画布时,我指的是绘制树的区域,而不是“画布”。我不熟悉行话,所以请相应地阅读。