0

我正在使用 Zoomable Icicle 布局示例来查看文件夹层次结构。

我目前使用过滤器功能如下:

var data = partition.nodes(root).filter(
        function (d) {
            return d.parent == null ? d.children && d.dateAccessed > formattedD : d.children && d.dateAccessed > formattedD && d.parent.dateAccessed > formattedD;
        });

这会根据文件夹的 dateAccessed 是否在某个日期之后过滤出是否需要显示/不显示文件夹(及其所有子文件夹)。

然后,我使用示例代码使用此数据变量来绘制分区。

rect = rect
               .data(data)
              .enter().append("rect")
              .attr("x", function (d) { console.log(!d.children); return x(d.x); })
              .attr("y", function (d) { return y(d.y); })
              .attr("width", function (d) { return x(d.dx); })
              .attr("height", function (d) { return y(d.dy); })
              .attr("fill", function (d) {
                  return (type == "Documents") ? '#9370DB' : (type == "Pictures") ? '#87CEFA' : (type == "Music") ? '#6B8E23' : (type == "Videos") ? '#F0E68C' : "#000000";
              })
              .on("click", clicked);

我需要布局来重新计算文件夹的放置位置,因为目前它为过滤掉的文件夹保留空间(参见附图)。(请原谅图片中文件夹的组织混乱,读入时是这样的。)

图片

非常感谢。

4

0 回答 0