d3力導(dǎo)向圖的學(xué)習(xí)中遇到一個(gè)疑點(diǎn)和難點(diǎn),查資料也解決不了,怎么辦,有時(shí)候自己查完一個(gè)知識(shí)點(diǎn)以后,自己做的時(shí)候總會(huì)出問(wèn)題,但是又具體不知道是哪里有問(wèn)題
同學(xué)你的這種疑惑和問(wèn)題我們很多同學(xué)都會(huì)有,其實(shí)就是對(duì)于知識(shí)點(diǎn)的理解沒(méi)有到位,知其然不知其所以然,對(duì)于知識(shí)的理解不深刻,容易衍生出更多的問(wèn)題。
繪制一個(gè)力導(dǎo)向圖,需要了解一下新的知識(shí)點(diǎn):
d3.forceSimulation()/d3.forceSimulation([nodes])新建一個(gè)力導(dǎo)向圖,如果沒(méi)有定義數(shù)組,可以為空,到后面可以通過(guò)simulation.nodes([nodes])將數(shù)組寫入
d3.forceSimulation().force(),添加一個(gè)力
D3.js 中內(nèi)置了幾種經(jīng)典的力模型
1.Centering
中心力可以使得節(jié)點(diǎn)最終布局是圍繞著某個(gè)中心的。相當(dāng)于某個(gè)中心點(diǎn)對(duì)所有的節(jié)點(diǎn)都有一個(gè)制約,不會(huì)讓布局的中心偏離。
2.Collision
碰撞力為每個(gè)節(jié)點(diǎn)都設(shè)定一個(gè)圓形的碰撞區(qū)域,從而防止節(jié)點(diǎn)之間重疊。

關(guān)鍵參數(shù):radius 碰撞半徑
3.牽引力(Links)
牽引力的強(qiáng)度與節(jié)點(diǎn)之間的距離成正比,類似于彈簧力。
關(guān)鍵參數(shù):distance。影響兩個(gè)節(jié)點(diǎn)之間的最終距離。
4.N 體力(Many-Body)
Many-Body 力是作用于所有節(jié)點(diǎn)之間的,是全局的,任何兩個(gè)節(jié)點(diǎn)之間都將受到此力的影響。(與 牽引力 Links 不同,Links 力僅僅會(huì)影響有連接關(guān)系的兩個(gè)節(jié)點(diǎn))
5.方向力(Positioning)
方向力分為 X 方向和 Y 方向,即將作用力限制在一個(gè)維度上( X 維度或者 Y 維度)
具體的內(nèi)容同學(xué)可以參考一下https://blog.csdn.net/weixin_43363871/article/details/102649473,如果同學(xué)需要具體的demo以及課程和作業(yè)的輔導(dǎo),可以聯(lián)系我們客服老師咨詢。