通过解析 XML 文件,我已经成功地用 d3 创建了几个图,例如这个。现在我想知道如何处理不完整的数据集。在我的特定示例中,某些元素中缺少一些子元素。在这种情况下,我希望 d3 丢弃该元素而不显示任何内容。目前,我正在对数据集应用过滤器,然后再将其输入 d3 的 data() 函数。
有没有更聪明的方法可以即时执行此操作?理想情况下,我只想null
在设置属性时返回,并且所需的子元素结果不存在。
完全免责声明:我刚刚开始学习 d3.js。
通过解析 XML 文件,我已经成功地用 d3 创建了几个图,例如这个。现在我想知道如何处理不完整的数据集。在我的特定示例中,某些元素中缺少一些子元素。在这种情况下,我希望 d3 丢弃该元素而不显示任何内容。目前,我正在对数据集应用过滤器,然后再将其输入 d3 的 data() 函数。
有没有更聪明的方法可以即时执行此操作?理想情况下,我只想null
在设置属性时返回,并且所需的子元素结果不存在。
完全免责声明:我刚刚开始学习 d3.js。
这可以通过display
在数据连接的 DOM 元素上设置属性来获得:
elemSelection.style("display", function (d) {
return is_data_NA(d) ? "none" : null;
});
这是一个简短的模拟示例:http: //jsfiddle.net/rU4XL/
请注意,默认情况下,如果value 函数返回.attr,.style等,接受value
为函数的函数将从选择中删除属性或内容。因此,在这种情况下,该属性将从具有有效数据的元素中删除。null
display
elemSelection