通过解析this one等XML文件,我成功地用d3创建了几个图。 现在我想知道如何处理不完整的数据集。在我的特定示例中,某些元素中缺少某些子元素。在这种情况下,我希望d3丢弃元素而不显示任何内容。目前,我正在将数据集应用于数据集,然后将其提供给d3的data()函数。
在飞行中有更聪明的方法吗?理想情况下,我只想在设置属性时返回null
,并且所需的子元素不存在。
完全免责声明:我刚开始学习d3.js.
答案 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
中包含有效数据的元素中删除。