1
我做了一個多線圖,我想管理空值。 我有2種空值「」和「」 所以我用這個來映射CSVd3 line.defined不繪製零值
var column = color.domain().map(function(name) {
return {
name: name,
values: data.map(function(d) {
if(d[name] === '' || d[name] === ' '){
//if the data is empty I store it in d.vale as a string
return {name: name, id: d.id, value: d[name]};
}
else{
//if the value is not empty I store it in d.value as number and replacing the coma with a dot (replacedot function)
return {name: name, id: d.id, value: +replace(replacedot(d[name]))};
}
})
};
});
比內line.defined我檢查,如果d.vale不是字符串,如果沒有我回到它:
var line = d3.svg.line()
.defined(function(d) { if(typeof d.value !== 'string'){ return d.value;}})
這項工作很好逃脫空值,但如果在它逃到數據集0.0的值...
我怎樣才能解決這個問題?
感謝 丹尼爾
您試過'.defined(function(d){return(typeof d.value!=='string ');})'? –
好吧,這工作正常!但爲什麼我的代碼不起作用?我沒有看到太多差異,我不明白爲什麼我的更詳細的代碼不起作用。這取決於defined()的實現嗎? – danipen
你應該返回true/false。你的代碼返回一個數字或者什麼也沒有(技術上爲空,它被解釋爲0)。 –