2013-02-02 40 views
2

我已通過解析XML文件(例如this one)成功創建了多個使用d3的圖。 現在我想知道如何處理不完整的數據集。在我的例子中,某些元素中缺少一些子元素。在這種情況下,我希望d3放棄元素並不顯示任何內容。目前,我在將數據提供給d3的data()函數之前將過濾器應用於數據集。如何處理d3.js中的缺失數據

有沒有更聰明的方法來實現這個動態?理想情況下,我只想在設置屬性時返回null,並且所需的子元素結果不存在。

完整免責聲明:我剛開始學習d3.js。

回答

2

這可以通過設置在數據的display屬性獲得接合DOM元素:

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

這裏是一個短模擬例如:http://jsfiddle.net/rU4XL/

注意,默認情況下,該接受value作爲函數諸如.attr,.style等的函數將從選擇中移除屬性或內容如果值函數返回null。因此,在這種情況下,display屬性將從具有有效數據的elemSelection中的元素中移除。