国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

在react中搭建d3力導向圖方法分享

來源:懂視網 責編:小OO 時間:2020-11-27 20:06:01
文檔

在react中搭建d3力導向圖方法分享

D3js力導向圖搭建。;d3js是一個可以基于數據來操作文檔的JavaScript庫。可以使用HTML,CSS,SVG以及Canvas來展示數據。力導向圖能夠用來表示節點間多對多的關系。實現效果:連線有箭頭,點擊節點能改變該節點顏色和所連接的線的粗細,縮放、拖拽。版本:4.X;安裝和導入;;npm安裝:npm install d3。前端導入:import * as d3 from ';d3'。一、完整代碼。;二、拆解代碼。;1.組件;
推薦度:
導讀D3js力導向圖搭建。;d3js是一個可以基于數據來操作文檔的JavaScript庫??梢允褂肏TML,CSS,SVG以及Canvas來展示數據。力導向圖能夠用來表示節點間多對多的關系。實現效果:連線有箭頭,點擊節點能改變該節點顏色和所連接的線的粗細,縮放、拖拽。版本:4.X;安裝和導入;;npm安裝:npm install d3。前端導入:import * as d3 from ';d3'。一、完整代碼。;二、拆解代碼。;1.組件;
本文主要介紹了如何在react中搭建d3力導向圖,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能幫助到大家,

D3js力導向圖搭建

d3js是一個可以基于數據來操作文檔的JavaScript庫??梢允褂肏TML,CSS,SVG以及Canvas來展示數據。力導向圖能夠用來表示節點間多對多的關系。

實現效果:連線有箭頭,點擊節點能改變該節點顏色和所連接的線的粗細,縮放、拖拽。

版本:4.X

安裝和導入

npm安裝:npm install d3

前端導入:import * as d3 from 'd3';

一、完整代碼

二、拆解代碼

1.組件

<p className="theChart" id="theChart" ref="theChart">
</p>

整個圖都將在p里繪制。

2.構造節點和連線

具體怎么構造依據你們的項目數據。

3.定義力模型

通過simulation.force()設置力,可以設置這幾種力:

  1. Centering:中心力,設置圖中心點位置。

  2. Collision:節點碰撞作用力,.strength參數范圍為[0,1]。

  3. Links:連線的作用力;.distance設置連線兩端節點的距離。

  4. Many-Body:.strength的參數為正時,模擬重力,為負時,模擬電荷力;.distanceMax的參數設置最大距離。

Positioning:給定向某個方向的力。

通過simulation.on監聽力圖元素位置變化。

4.繪制svg

創建svg,在svg里創建g,將節點連線等內容放在g內。

  1. select:選擇第一個對應的元素

  2. selectAll:選擇所有對應的元素

  3. append:創建元素

5.繪制連線

連線用貝塞爾曲線繪制:(M 起點X 起點y L 終點x 終點y)

6.繪制連線上的箭頭

  1. viewport:可視區域

  2. viewBox:實際大小,會自動縮放填充viewport

7.繪制節點

創建圓作為節點。

.call()調用拖拽函數。

8.節點名稱

因為文字在節點上層,如果沒有設置禁止鼠標事件,點擊文字將無法響應點擊節點的效果,也無法拖拽節點。

9.連線名稱

10.鼠標移到節點上有氣泡提示

11.監聽圖元素的位置變化

12.拖拽

13.縮放

三、其它效果

1.單擊節點時讓連接線加粗

2.被點擊的節點變色

四、在react中使用注意事項

在哪里構造圖 因為圖是動態的,如果渲染多次(render執行多次,渲染多次),不會覆蓋前面渲染的圖,反而會造成渲染多次,出現多個圖的現象。把構造圖的函數print()放到componentDidMount()內執行,則只會渲染一次。
對節點和連線數據進行增刪改操作后,需要再次調用print()函數,重新構造圖。

從哪里獲取數據 數據不從redux獲取,發送請求后callback直接獲取。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

在react中搭建d3力導向圖方法分享

D3js力導向圖搭建。;d3js是一個可以基于數據來操作文檔的JavaScript庫??梢允褂肏TML,CSS,SVG以及Canvas來展示數據。力導向圖能夠用來表示節點間多對多的關系。實現效果:連線有箭頭,點擊節點能改變該節點顏色和所連接的線的粗細,縮放、拖拽。版本:4.X;安裝和導入;;npm安裝:npm install d3。前端導入:import * as d3 from ';d3'。一、完整代碼。;二、拆解代碼。;1.組件;
推薦度:
標簽: 教程 d3 React
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产免费高清 | 在线免费观看国产 | 欧美激情视频一区二区 | 国产精品久久久久免费 | 国产 欧美 日韩 在线 | 亚洲欧美高清 | 亚洲精品二三区伊人久久 | 国产一区二区高清 | 一区二区成人国产精品 | 精品国产综合区久久久久99 | 国产一区二区三区视频 | 亚洲午夜久久久久久91 | 欧美日韩欧美日韩 | 欧美 日韩 中文字幕 | 国产日韩精品欧美一区视频 | 日韩在线网址 | 久久综合爱| 欧美v视频 | 精品偷自拍另类在线观看 | 亚洲国内精品 | 亚洲欧美日韩中文字幕在线不卡 | 性色a v 一区| 伊人久久影院 | 日韩欧美高清 | 久久精品国产免费一区 | 中文字幕韩国电影 | 国产精品亚洲一区二区三区在线播放 | 久久精品123| 最新偷窥盗摄视频在线 | 免费一级毛片 | 婷婷爱爱 | 成人久久久精品乱码一区二区三区 | 久久久久久91香蕉国产 | 国产在线成人一区二区三区 | 国产欧美日本在线 | 国产精品系列在线观看 | 日本国产在线观看 | 久久国产片 | a级黄色毛片| 亚洲 欧美 自拍 另类 | 国产成人免费视频精品一区二区 |