如何处理d3.js中的缺失数据

时间:2013-02-02 03:37:30

标签: javascript d3.js

通过解析this one等XML文件,我成功地用d3创建了几个图。 现在我想知道如何处理不完整的数据集。在我的特定示例中,某些元素中缺少某些子元素。在这种情况下,我希望d3丢弃元素而不显示任何内容。目前,我正在将数据集应用于数据集,然后将其提供给d3的data()函数。

在飞行中有更聪明的方法吗?理想情况下,我只想在设置属性时返回null,并且所需的子元素不存在。

完全免责声明:我刚开始学习d3.js.

1 个答案:

答案 0 :(得分:2)

这可以通过在数据连接的DOM元素上设置display属性来获得:

elemSelection.style("display", function (d) { 
    return is_data_NA(d) ? "none" : null; 
});

这是一个简短的模拟示例:http://jsfiddle.net/rU4XL/

请注意,默认情况下,接受value作为.attr.style等功能的功能将删除属性或内容如果值函数返回null,则从选择中选择。因此,在这种情况下,display属性将从elemSelection中包含有效数据的元素中删除。