d3.js(v5.7)力導向圖(關係圖譜)
先上圖,後面再一一解釋:
ok,為了方便理解,這裡我就沒有用之前封裝的automatch函式來將資料和節點匹配了,如果你對enter(),exit()函式還不是很理解的話,請移步至我之前寫的《node與資料匹配》(automatch函式)
那麼接下來:
一、宣告全域性變數
因為力導向圖,涉及到眾多節點的運動,並且在寫的時候都是以callback的形式去操作這些節點,所以這裡我們將這些節點宣告為全域性變數(應該也是可以直接宣告在元件的data裡面的,如果你有興趣,不妨一試)
這些註釋應該都詳細了吧。
二、開始佈局畫布
不難看出,在900x500的svg畫布上,添加了一個g標籤作為繪圖的起點(60,60),並新建一個力導向圖
三、處理節點資料、關係資料
四、資料處理好之後,開始繪圖
①線和線上文字
②節點和節點面描述(他兩是一組)
因為是一組,所以他兩外面要用g標籤包裹,就和之前繪完整柱形圖時一樣
五、輔助函式
主函式中用到了4個輔助函式,其中一個用於初始化線的位置和線上文字位置以及節點分組的位置;
其他三個則用於控制節點分組拖拽時候的自己以及其他節點的位置:
六、官方相關API截圖
相關推薦
d3.js(v5.7)力導向圖(關係圖譜)
先上圖,後面再一一解釋: ok,為了方便理解,這裡我就沒有用之前封裝的automatch函式來將資料和節點匹配了,如果你對enter(),exit()函式還不是很理解的話,請移步至我之前寫的《node與資料匹配》(automatch函式) 那麼接下來: 一、宣告全域性變數 因為力導向圖,涉及到眾多
D3.js的v5版本入門教程(第十四章)—— 力導向圖
D3.js的v5版本入門教程(第十四章) 這一章我們來繪製一個力導向圖,什麼叫力導向圖,通俗一點將就是有節點和線組成,當滑鼠拖拽一個節點時,其他節點都會受到影響(力導向圖有多種型別,本章繪製的效果就是這樣,其他型別的讀者可以自己去試試),還是給讀者提個醒
【D3.js資料視覺化系列教程】(三十)--力導向圖之帶文字
(1)連結陣列var links = [ {source: "Microsoft", target: "Amazon", type: "licensing" ,weight:1,color:1}, {source: "Microsoft", target:
【D3.js資料視覺化系列教程】(二十四)--力導向圖
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>testD3-22-force.html</title> <script type="t
D3系列第三彈——繪製力導向圖
關於力導向圖,學習之前要知道,力導向圖是什麼,它的特點是什麼。 力引導演算法主要應用與複雜網路視覺化。將物件抽象成圖中的點,有關係的兩點間繪製一條線,從力導向圖,我們可以明顯的知道點之間的親疏關係。 使用資料集json檔案: { "nodes": [ { "na
d3.js學習筆記(四)力導向示意圖
d3.drawForceGraph = function () { var nodes = [{ name: "桂林" }, { name: "廣州" }, { name: "廈門" }, { name: "杭州" }, { name: "上
d3.js(v5.7)的node與資料匹配(自動匹配擴充套件函式)
在d3操作時,當然少不了對已有節點繫結資料,那麼問題就來了,節點個數和資料長度不一樣的,怎麼辦。 d3在節點少於資料長度的時候,有enter().appen()方法實現node的增加; 在節點大於資料長度的時候,有exit().remove()實現對多餘節點的刪除; 但是,操作是這樣的:
d3.js(v5.7)的node與數據匹配(自動匹配擴展函數)
輸出 Edito title src img 數據 直接 增加 無奈 在d3操作時,當然少不了對已有節點綁定數據,那麽問題就來了,節點個數和數據長度不一樣的,怎麽辦。 d3在節點少於數據長度的時候,有enter().appen()方法實現node的增加;
d3.js(v5.7)完整地畫一個柱狀圖
img edi http 代碼 坐標 不能 畫布 分享 ueditor 一、首先定義畫布大小以及繪畫區域的位置(總不能頂著屏幕邊沿畫吧) 代碼: 圖示: 二、橫、縱向坐標軸 代碼: 圖示:
d3.js(v5.7)樹狀圖
edi 博客 總結 adf 報錯 控制臺 擴展 數據處理 分享 一、新建畫布 二、數據處理 三、繪制連接線 圖示: 四、
資料視覺化 D3.js實現力導向圖之二(node帶文字說明和提示)
從官方下載下的demo,直接加text帶文字,始終未能顯示出來,但是title卻能顯示出來,最後經過與網上其他地方做出來的例子用firebug進行跟蹤對比,發現能夠正確顯示title的html裡邊g標籤為node裡邊包含circle和text(circle、title和te
vis.js力導向圖第四彈——雙擊擴充套件節點(去重版)
正經學徒,佛系記錄,不搞事情 基於上文:https://blog.csdn.net/qq_31748587/article/details/84230416 的專案 可擴充套件的圖最終都要面臨的一個問題就是擴充套件後節點的重複 舉個栗子: 首先將節點形狀設定為“點dot
D3.js的v5版本入門教程(第十六章)—— 中國地圖
D3.js的v5版本入門教程(第十六章) 1、中國地圖的繪製比較簡單,前面學了那麼多,有興趣的讀者可以自己動手來繪製一個,在這裡就不繪製了!只是附上一個截圖來看一看! 簡單的中國地圖的效果大概就是這樣,自己動手,豐衣足食, 雖然在這裡沒有教大
D3.js的v5版本入門教程(第五章)—— 選擇、插入、刪除元素
D3.js的v5版本入門教程(第五章) 1、選擇元素 現在我們已經知道,d3.js中選擇元素的函式有select()和selectAll(),下面來詳細講解一下 假設我們的<body>中有三個<p>,如下 <
D3.js的v5版本入門教程(第十三章)—— 餅狀圖
D3.js的v5版本入門教程(第十三章) 這一章我們來繪製一個簡單的餅狀圖,我們只繪製構成餅狀圖基本的元素——扇形、文字,從這一章開始,內容可能有點難理解,因為每一章都會引入比較多的難理解知識點,在這裡作者本人也只是粗略的講解每個新知識點的意思!如果不是很理解的
D3.js的V5版本-Vue框架中使用(第九章) ---力導向圖
一. Api使用 d3.forceSimulation() ,新建一個力導向圖, d3.forceSimulation().force(),新增或者移除一個力 d3.forceSimulation().nodes(),輸入是一個數組,然後將這個輸入的陣列進行一定的資料轉
D3.js建立力導向圖(V4)附帶詳細的引數說明
一.程式碼示例 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport"
echarts力導向圖的前後臺互動(ajax+json+struts)
目標:用百度研發的echarts資料視覺化外掛做個關係圖 環境:myeclipse+echarts3.0+struts2 html程式碼 <!DOCTYPE html> &
Vue和d3.js(v4)力導向圖force結合使用,v3版本升級v4【一】
前段時間因為參與專案涉密,所以一直沒有更新部落格,有些博友給我私信或者留言要部分博文的原始碼,因為我的電腦更換,demo的原始碼沒有備份 所以無法提供。大家可針對具體問題問我,有空我定會回覆的。另外轉發文章請說明出處,謝謝關注! 之前有多篇博文介紹了d3力導向圖的繪製過程的一些問題,現在由於效能和UI的要求,
vis.js力導向圖第五彈——隱藏節點
正經學徒,佛系記錄,不搞事情 基於上文:https://blog.csdn.net/qq_31748587/article/details/84143153 的專案 通過複選框動態控制節點的展示(節點隱藏會自動隱藏關係,但節點還是存在於圖中,只是隱藏了) 首先隨意建立節點和