1. 程式人生 > >d3.js(v5.7)的node與數據匹配(自動匹配擴展函數)

d3.js(v5.7)的node與數據匹配(自動匹配擴展函數)

輸出 Edito title src img 數據 直接 增加 無奈

在d3操作時,當然少不了對已有節點綁定數據,那麽問題就來了,節點個數和數據長度不一樣的,怎麽辦。

d3在節點少於數據長度的時候,有enter().appen()方法實現node的增加;

在節點大於數據長度的時候,有exit().remove()實現對多余節點的刪除;

但是,操作是這樣的:

技術分享圖片

有沒有感覺很無奈,難道寫的時候還要人為判斷節點的個數與數據量之間的關系麽?那還要電腦幹嘛,還要程序幹嘛?

說幹就幹,於是就封裝了一個節點、數據自動匹配的函數-----automatch():

技術分享圖片

用的時候呢,直接這麽用:

首先7個節點,5個數據項

技術分享圖片

技術分享圖片

頁面最終輸出:

技術分享圖片

再來試試0個節點,5個數據:

技術分享圖片

技術分享圖片

頁面最終:

技術分享圖片

d3.js(v5.7)的node與數據匹配(自動匹配擴展函數)