數據“三板斧”之D3增刪改查


數據“三板斧”之D3增刪改查

數據操作“三板斧”

現代社會中,數據已經逐漸成為了一種非常重要的社會資源了,通過數據可以分析到很多的東西併為我們人類做很多事情,比如可以幫助企業瞭解和定位客戶(分析用戶的行為偏好從而構建個性化推薦系統)、幫助瞭解和優化業務流程(優化商品供應鏈或配送路徑)等。

這麼重要和寶貴的社會資源是人們通過何種方式完成了對它的挖掘和使用呢——這就是數據最具威力的手段,增刪改查;通過這四個方式形成的數據處理,展開了數據基礎上大規模的應用。


數據“三板斧”之D3增刪改查

眾裡尋他千百度

隨著數據量的極速增長,數據查找已經成為了一個越來越難的事情了,通過對d3對數據的查找分析,發現D3的查找是基於文檔樹實現的,其類似於CSS中的樣式定位,查找的對象主要是由標籤、id標識、class標識等三個部分組成;而查找的數量也是一個和多個兩種模式;查找獲得的模式也就是某個文檔元素、樣式。

(1)基於文檔整體的單個查找與多個查找

d3.select(selector) <==>d3.selectAll(selector)

返回的是selection,這正如我們查找娛樂圈是,返回的就是娛樂圈中的所有相關的信息,比如明星等


數據“三板斧”之D3增刪改查

簡單查找——娛樂星球

(2)基於selection的單個查找與多個查找

selection.select(selector) <==> selection.selectAll(selector)

selection.select(d3.selector(selector))<==>selection.selectAll(d3.selector(selector))

返回的是selection,這次就相當於在娛樂圈中找男明星,返回的就是男明星的相關信息。

數據“三板斧”之D3增刪改查

結果查找——男團篩選

3)對返回的結果過濾合併

過濾:

selection.filter(filter);其中filter可以是函數也可以是一個選擇字符串

selection.filter(d3.matcher(selector))

返回的是selection,這次就相當於找某個電視劇中的男明星;

合併:

selection.merge(other);其中other是其他的selection

返回的是selection,這次就相當於將查找的男明星和女明星統一放到一個結果中

(4)特殊選擇——根元素、樣式以及window

d3.selection: 選擇器根元素,類似於document.documentElement

d3.style(node, name):返回指定元素節點的樣式屬性值

d3.window(node): 返回指定元素節點所屬的窗口

以上就是d3.js中選擇的相關信息,總共分成四大類,從基礎到中級再到高階,一步一步的由淺入深逐步展現D3強大的功能,大家可以去嘗試使用使用,看看能夠發現哪些奇妙的現象啊,歡迎一起交流啊!!



分享到:


相關文章: