Echarts?graph關(guān)系圖的使用入門(mén)級(jí)教程
今天我學(xué)習(xí)了如何使用echarts graph關(guān)系圖,效果如:

首先是給容器設(shè)置id,寬高
然后是
var graphTwoChart = echarts.init(document.getElementById('graph'));
graphTwoChart.setOption({
title: {
text: '當(dāng)前校企合作關(guān)系',
textStyle: {
color: 'white',
},
left: "30px",
top: "20px"
},
tooltip: {
show: true
},
legend: {
show: false,
},
xAxis: {
show: false
},
yAxis: {
show: false
},
grid: {
top: '80px'
},
series: [{
type: "graph",
// 是否開(kāi)啟鼠標(biāo)縮放和平移漫游。默認(rèn)不開(kāi)啟。如果只想要開(kāi)啟縮放或者平移,可以設(shè)置成 'scale' 或者 'move'。設(shè)置成 true 為都開(kāi)啟
roam: true,
// 是否在鼠標(biāo)移到節(jié)點(diǎn)上的時(shí)候突出顯示節(jié)點(diǎn)以及節(jié)點(diǎn)的邊和鄰接節(jié)點(diǎn)。[ default: false ]
focusNodeAdjacency: true,
// 力引導(dǎo)布局相關(guān)的配置項(xiàng),力引導(dǎo)布局是模擬彈簧電荷模型在每?jī)蓚€(gè)節(jié)點(diǎn)之間添加一個(gè)斥力,每條邊的兩個(gè)節(jié)點(diǎn)之間添加一個(gè)引力,每次迭代節(jié)點(diǎn)會(huì)在各個(gè)斥力和引力的作用下移動(dòng)位置,多次迭代后節(jié)點(diǎn)會(huì)靜止在一個(gè)受力平衡的位置,達(dá)到整個(gè)模型的能量最小化。
force: {
// 力引導(dǎo)布局的結(jié)果有良好的對(duì)稱(chēng)性和局部聚合性,也比較美觀。
// [ default: 50 ]節(jié)點(diǎn)之間的斥力因子(關(guān)系對(duì)象之間的距離)。支持設(shè)置成數(shù)組表達(dá)斥力的范圍,此時(shí)不同大小的值會(huì)線性映射到不同的斥力。值越大則斥力越大
repulsion: 200,
// [ default: 30 ]邊的兩個(gè)節(jié)點(diǎn)之間的距離(關(guān)系對(duì)象連接線兩端對(duì)象的距離,會(huì)根據(jù)關(guān)系對(duì)象值得大小來(lái)判斷距離的大小),
edgeLength: [120, 100]
// 這個(gè)距離也會(huì)受 repulsion。支持設(shè)置成數(shù)組表達(dá)邊長(zhǎng)的范圍,此時(shí)不同大小的值會(huì)線性映射到不同的長(zhǎng)度。值越小則長(zhǎng)度越長(zhǎng)。如下示例:
// 值最大的邊長(zhǎng)度會(huì)趨向于 10,值最小的邊長(zhǎng)度會(huì)趨向于 50 edgeLength: [10, 50]
},
// 圖的布局。[ default: 'none' ]
layout: "force",
// 'none' 不采用任何布局,使用節(jié)點(diǎn)中提供的 x, y 作為節(jié)點(diǎn)的位置。
// 'circular' 采用環(huán)形布局;'force' 采用力引導(dǎo)布局.
// 標(biāo)記的圖形
symbol: 'circle',
// 關(guān)系邊的公用線條樣式。其中 lineStyle.color 支持設(shè)置為'source'或者'target'特殊值,此時(shí)邊會(huì)自動(dòng)取源節(jié)點(diǎn)或目標(biāo)節(jié)點(diǎn)的顏色作為自己的顏色。
normal: {
lineStyle: {
// 線的顏色[ default: '#aaa' ]
color: '#fff',
// 線寬[ default: 1 ]
width: 1,
// 線的類(lèi)型[ default: solid實(shí)線 ] 'dashed'虛線 'dotted'
type: 'solid',
// 圖形透明度。支持從 0 到 1 的數(shù)字,為 0 時(shí)不繪制該圖形。[ default: 0.5 ]
opacity: 0.5,
// 邊的曲度,支持從 0 到 1 的值,值越大曲度越大。[ default: 0 ]
curveness: 0.5
}
},
// 關(guān)系對(duì)象上的標(biāo)簽
label: {
normal: {
// 是否顯示標(biāo)簽
show: true,
// 標(biāo)簽位置:'top''left''right''bottom''inside''insideLeft''insideRight''insideTop''insideBottom''insideTopLeft''insideBottomLeft''insideTopRight''insideBottomRight'
position: "inside",
// 文本樣式
textStyle: {
fontSize: 16,
color: 'white'
}
}
},
// 連接兩個(gè)關(guān)系對(duì)象的線上的標(biāo)簽
edgeLabel: {
normal: {
show: true,
textStyle: {
// fontSize: 14
},
// 標(biāo)簽內(nèi)容
formatter: function(param) {
return param.data.category;
}
}
},
data: [{
name: "總企業(yè)",
draggable: true, // 節(jié)點(diǎn)是否可拖拽,只在使用力引導(dǎo)布局的時(shí)候有用。
symbolSize: [80, 80], // 關(guān)系圖節(jié)點(diǎn)標(biāo)記的大小,可以設(shè)置成諸如 10 這樣單一的數(shù)字,也可以用數(shù)組分開(kāi)表示寬和高,例如 [20, 10] 表示標(biāo)記寬為20,高為10。
itemStyle: {
color: '#000' // 關(guān)系圖節(jié)點(diǎn)標(biāo)記的顏色
},
category: "企業(yè)分析" // 數(shù)據(jù)項(xiàng)所在類(lèi)目的 index。
}, {
name: "企業(yè)1",
draggable: true,
symbolSize: [50, 50],
itemStyle: {
color: '#0000ff'
},
category: "入駐"
}, {
name: "企業(yè)2",
draggable: true,
symbolSize: [50, 50],
itemStyle: {
color: 'skyblue'
},
category: "培育"
}, {
name: "企業(yè)3",
draggable: true,
symbolSize: [50, 50],
itemStyle: {
color: '#ff0000'
},
category: "申報(bào)"
}, {
name: "企業(yè)4",
draggable: true,
symbolSize: [50, 50],
itemStyle: {
color: '#00ff00'
},
category: "產(chǎn)教融合"
}],
// 節(jié)點(diǎn)分類(lèi)的類(lèi)目,可選。如果節(jié)點(diǎn)有分類(lèi)的話(huà)可以通過(guò) data[i].category 指定每個(gè)節(jié)點(diǎn)的類(lèi)目,類(lèi)目的樣式會(huì)被應(yīng)用到節(jié)點(diǎn)樣式上。圖例也可以基于categories名字展現(xiàn)和篩選。
categories: [{
// 類(lèi)目名稱(chēng),用于和 legend 對(duì)應(yīng)以及格式化 tooltip 的內(nèi)容。
name: "企業(yè)分析"
}, {
name: "入駐"
}, {
name: "培育"
}, {
name: "申報(bào)"
}, {
name: "產(chǎn)教融合"
}],
// 節(jié)點(diǎn)間的關(guān)系數(shù)據(jù)
links: [{
target: "企業(yè)1",
source: "總企業(yè)",
// 關(guān)系對(duì)象連接線上的標(biāo)簽內(nèi)容
category: "入駐"
}, {
target: "企業(yè)2",
source: "總企業(yè)",
category: "培育"
}, {
target: "企業(yè)3",
source: "總企業(yè)",
category: "申報(bào)"
}, {
target: "企業(yè)4",
source: "總企業(yè)",
category: "產(chǎn)教融合"
}]
}]
});總結(jié)
到此這篇關(guān)于Echarts graph關(guān)系圖使用的文章就介紹到這了,更多相關(guān)Echarts graph關(guān)系圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用JavaScript獲取Django模板指定鍵值數(shù)據(jù)
這篇文章主要介紹了使用JavaScript獲取Django模板指定鍵值數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
JavaScript表格隔行變色和Tab標(biāo)簽頁(yè)特效示例【附j(luò)Query版】
這篇文章主要介紹了JavaScript表格隔行變色和Tab標(biāo)簽頁(yè)特效,結(jié)合實(shí)例形式分析了javascript元素遍歷、事件響應(yīng)相關(guān)操作技巧,并附帶jQuery對(duì)應(yīng)實(shí)現(xiàn)代碼供大家參考,需要的朋友可以參考下2019-07-07
JS基于VML技術(shù)實(shí)現(xiàn)的五角星禮花效果代碼
這篇文章主要介紹了JS基于VML技術(shù)實(shí)現(xiàn)的五角星禮花效果代碼,涉及JavaScript數(shù)學(xué)運(yùn)算與頁(yè)面元素動(dòng)態(tài)操作的相關(guān)技巧,需要的朋友可以參考下2015-10-10
js cavans實(shí)現(xiàn)靜態(tài)滾動(dòng)彈幕
這篇文章主要為大家詳細(xì)介紹了js cavans實(shí)現(xiàn)靜態(tài)滾動(dòng)彈幕,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05
ES6知識(shí)點(diǎn)整理之模塊化的應(yīng)用詳解
這篇文章主要介紹了ES6知識(shí)點(diǎn)整理之模塊化的應(yīng)用,結(jié)合實(shí)例形式分析了基于node.js環(huán)境下模擬ES6模塊化配置與使用相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
微信小程序?qū)崿F(xiàn)圖片選擇并預(yù)覽功能
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)圖片選擇并預(yù)覽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07

