我正在使用d3.stack創建堆積區域圖表,但如果我沒有相同數量的項目每層。我開始與數據陣列是這樣的:如何在d3.layout.stack()中處理丟失數據點的圖層()
[
{key:'Group1',value,date},
{key:'Group1',value,date},
{key:'Group1',value,date},
{key:'Group2',value,date},
{key:'Group2',value,date}
]
和後我運行它通過巢()和堆()我結束了這種格式,如所預期:
[
{key: 'Group1',
values: [ {key,value,date}, {key,value,date}, {key,value,date} ] },
{key: 'Group2',
values: [ {key,value,date}, {key,value,date} ] }
]
我已經稍微修改了堆疊區域示例以演示此jsFiddle中的問題:http://jsfiddle.net/brentkeller/rTC3c/2/
如果您刪除sourceData數組中的任何一個數據點,您將看到錯誤消息「Can not read property'1 of undefined」在控制檯。
有沒有辦法讓d3.stack只是假設零值爲缺失的數據點?如果沒有,是否有一個優雅的解決方案來填補缺失的值?
默認值可能無濟於事。這將使堆棧圖具有任意驟降(降至默認值,可能爲0)。 –
除原始請求外:「有沒有辦法讓d3.stack只是假設零值用於缺失的數據點?」 –
謝謝@ChrisG。我決定採用這種方法。我稍微編輯了你的答案,以使鍵和hadData數組更加靈活。感謝您的幫助! –