2
例如,我正在製作各種財務信息圖表 - 線條,條形和餅圖。數據以.csv作爲客戶端來源,其中一些空值由連字符表示。數據給我的格式不是我可以改變的。這裏有一個例子:d3.js過濾嵌套數據中的空值
Month,Actual,Forecast,Budget
Jul-14,200000,-,74073.86651
Aug-14,198426.57,-,155530.2499
Sep-14,290681.62,-,220881.4631
Oct-14,362974.9,-,314506.6437
Nov-14,397662.09,-,382407.67
Dec-14,512434.27,-,442192.1932
Jan-15,511470.25,511470.25,495847.6137
Feb-15,-,536472.5467,520849.9105
Mar-15,-,612579.9047,596957.2684
Apr-15,-,680936.5086,465313.8723
May-15,-,755526.7173,739904.081
Jun-15,-,811512.772,895890.1357
我用下面的代碼被嵌套的數據,它工作正常,除了空值導致我各種各樣的問題。
d3.csv("data/net.csv", function(error, data) {
var headers = d3.keys(data[0]).filter(function(head) {
return head != "Month";
});
data.forEach(function(d) {
d.month = parseDate(d.Month);
});
var categories = headers.map(function(name) {
return {
name: name,
values: data.map(function(d) {
return {
date: d.month,
rate: +(d[name]),
};
}),
};
});
有沒有問題,當我確定一條線,因爲我可以用.defined,但在條形圖上附加數據點或矩形圈,它導致NaN的這打破了可視化。
理想情況下,我希望嵌套的數據不包含空數據點,而不是嘗試處理渲染後的形狀。也就是說,從上面的數據中,我想'實際'和'預測'數組只有6個對象,而'預算'數組有12個。我還需要保留索引值。
是否有一種方法可以過濾嵌套過程以排除空值?
嗨西里爾, 非常感謝,它過濾得很好,但不保留指數值。我懷疑這可能是不可能的。 – tgerard