1. 程式人生 > >Echarts資料視覺化series-graph關係圖,開發全解+完美註釋

Echarts資料視覺化series-graph關係圖,開發全解+完美註釋

全棧工程師開發手冊 (作者:欒鵬)

Echarts資料視覺化series-graph關係圖全解:

mytextStyle={
    color:"#333",               //文字顏色
    fontStyle:"normal",         //italic斜體  oblique傾斜
    fontWeight:"normal",        //文字粗細bold   bolder   lighter  100 | 200 | 300 | 400...
    fontFamily:"sans-serif",    //字體系列
    fontSize:18
, //字型大小 }; mylineStyle={ color:"#333", //顏色,'rgb(128, 128, 128)','rgba(128, 128, 128, 0.5)',支援線性漸變,徑向漸變,紋理填充 shadowColor:"red", //陰影顏色 shadowOffsetX:0, //陰影水平方向上的偏移距離。 shadowOffsetY:0, //陰影垂直方向上的偏移距離 shadowBlur:10, //圖形陰影的模糊大小。
type:"solid", //座標軸線線的型別,solid,dashed,dotted width:1, //座標軸線線寬 opacity:1, //圖形透明度。支援從 0 到 1 的數字,為 0 時不繪製該圖形 }; myareaStyle={ color:['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)'],//分隔區域顏色。分隔區域會按陣列中顏色的順序依次迴圈設定顏色。預設是一個深淺的間隔色。 shadowColor:"red", //陰影顏色
shadowOffsetX:0, //陰影水平方向上的偏移距離。 shadowOffsetY:0, //陰影垂直方向上的偏移距離 shadowBlur:10, //圖形陰影的模糊大小。 opacity:1, //圖形透明度。支援從 0 到 1 的數字,為 0 時不繪製該圖形 }; myitemStyle={ color:"red", //顏色 borderColor:"#000", //邊框顏色 borderWidth:0, //柱條的描邊寬度,預設不描邊。 borderType:"solid", //柱條的描邊型別,預設為實線,支援 'dashed', 'dotted'。 barBorderRadius:0, //柱形邊框圓角半徑,單位px,支援傳入陣列分別指定柱形4個圓角半徑。 shadowBlur:10, //圖形陰影的模糊大小。 shadowColor:"#000", //陰影顏色 shadowOffsetX:0, //陰影水平方向上的偏移距離。 shadowOffsetY:0, //陰影垂直方向上的偏移距離。 opacity:1, //圖形透明度。支援從 0 到 1 的數字,為 0 時不繪製該圖形。 }; mylabel={ show:false, //是否顯示標籤。 position:"inside", //標籤的位置。// 絕對的畫素值[10, 10],// 相對的百分比['50%', '50%'].'top','left','right','bottom','inside','insideLeft','insideRight','insideTop','insideBottom','insideTopLeft','insideBottomLeft','insideTopRight','insideBottomRight' offset:[30, 40], //是否對文字進行偏移。預設不偏移。例如:[30, 40] 表示文字在橫向上偏移 30,縱向上偏移 40。 formatter:'{b}: {c}', //標籤內容格式器。模板變數有 {a}、{b}、{c},分別表示系列名,資料名,資料值。 textStyle:mytextStyle }; mypoint={ symbol:"pin", //圖形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' symbolSize:50, //標記的大小,可以設定成諸如 10 這樣單一的數字,也可以用陣列分開表示寬和高,例如 [20, 10] 表示標記寬為20,高為10。 symbolRotate:0, //標記的旋轉角度。注意在 markLine 中當 symbol 為 'arrow' 時會忽略 symbolRotate 強制設定為切線的角度。 symbolOffset:[0,0], //標記相對於原本位置的偏移。預設情況下,標記會居中置放在資料對應的位置 silent:false, //圖形是否不響應和觸發滑鼠事件,預設為 false,即響應和觸發滑鼠事件。 label:{ normal:mylabel, emphasis:mylabel }, itemStyle:{ normal:myitemStyle, emphasis:myitemStyle } }; myline={ symbol:["pin","circle"], //圖形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' symbolSize:50, //標記的大小,可以設定成諸如 10 這樣單一的數字,也可以用陣列分開表示寬和高,例如 [20, 10] 表示標記寬為20,高為10。 precision:2, //標線數值的精度,在顯示平均值線的時候有用。 silent:false, //圖形是否不響應和觸發滑鼠事件,預設為 false,即響應和觸發滑鼠事件。 label:{ normal:mylabel, emphasis:mylabel }, lineStyle:{ normal:mylineStyle, emphasis:mylineStyle } }; myarea={ silent:false, //圖形是否不響應和觸發滑鼠事件,預設為 false,即響應和觸發滑鼠事件。 label:{ normal:mylabel, emphasis:mylabel }, itemStyle:{ normal:myitemStyle, emphasis:myitemStyle } }; series=[ { type:"graph", //關係圖 zlevel:0, //柱狀圖所有圖形的 zlevel 值。 z:2, //柱狀圖元件的所有圖形的z值。控制圖形的前後順序。z值小的圖形會被z值大的圖形覆蓋。 left:"10%", //元件離容器左側的距離,百分比字串或整型數字 top:60, //元件離容器上側的距離,百分比字串或整型數字 right:"auto", //元件離容器右側的距離,百分比字串或整型數字 bottom:"auto", //元件離容器下側的距離,百分比字串或整型數字 width:"auto", //圖例寬度 height:"auto", //圖例高度 silent:false, //圖形是否不響應和觸發滑鼠事件,預設為 false,即響應和觸發滑鼠事件。 name:"資料名稱", //系列名稱,用於tooltip的顯示,legend 的圖例篩選,在 setOption 更新資料和配置項時用於指定對應的系列。 legendHoverLink:true, //是否啟用圖例 hover 時的聯動高亮。 hoverAnimation:true, //是否開啟滑鼠 hover 節點的提示動畫效果。 coordinateSystem:null, //null無座標系,'cartesian2d'使用二維的直角座標系。'geo'使用地理座標系,'polar'使用極座標系 xAxisIndex:0, //使用的 x 軸的 index,在單個圖表例項中存在多個 x 軸的時候有用。 yAxisIndex:0, //使用的 y 軸的 index,在單個圖表例項中存在多個 y軸的時候有用。 polarIndex:0, //使用的極座標系的 index,在單個圖表例項中存在多個極座標系的時候有用。 geoIndex:0, //使用的地理座標系的 index,在單個圖表例項中存在多個地理座標系的時候有用。 calendarIndex:0, //使用的日曆座標系的 index,在單個圖表例項中存在多個日曆座標系的時候有用。 layout:'none', //'none' 不採用任何佈局,使用節點中提供的 x, y 作為節點的位置.'circular' 採用環形佈局,'force' 採用力引導佈局。 //circular:{}, //環形佈局相關配置 //force:{}, //力引導佈局相關的配置項 roam:false, //是否開啟滑鼠縮放和平移漫遊。預設不開啟。如果只想要開啟縮放或者平移,可以設定成 'scale' 或者 'move'。設定成 true 為都開啟 nodeScaleRatio:0.6, //滑鼠漫遊縮放時節點的相應縮放比例,當設為0時節點不隨著滑鼠的縮放而縮放 draggable:false, //節點是否可拖拽,只在使用力引導佈局的時候有用。 focusNodeAdjacency:true, //是否在滑鼠移到節點上的時候突出顯示節點以及節點的邊和鄰接節點。 symbol:"pin", //圖形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' symbolSize:50, //標記的大小,可以設定成諸如 10 這樣單一的數字,也可以用陣列分開表示寬和高,例如 [20, 10] 表示標記寬為20,高為10。 symbolRotate:0, //標記的旋轉角度。注意在 markLine 中當 symbol 為 'arrow' 時會忽略 symbolRotate 強制設定為切線的角度。 symbolOffset:[0,0], //標記相對於原本位置的偏移。預設情況下,標記會居中置放在資料對應的位置 edgeSymbol:['circle', 'arrow'],//邊兩端的標記型別,可以是一個數組分別指定兩端,也可以是單個統一指定。預設不顯示標記,常見的可以設定為箭頭 edgeSymbolSize:[5,2], //邊兩端的標記大小,可以是一個數組分別指定兩端,也可以是單個統一指定。 cursor:"pointer", //滑鼠懸浮時在圖形元素上時滑鼠的樣式是什麼。同 CSS 的 cursor。 label:{ //圖形上的文字標籤,可用於說明圖形的一些資料資訊,比如值,名稱等, normal:mylabel, emphasis:mylabel }, edgeLabel:{ normal:mylabel, emphasis:mylabel }, itemStyle:{ //圖形樣式,normal 是圖形在預設狀態下的樣式;emphasis 是圖形在高亮狀態下的樣式,比如在滑鼠懸浮或者圖例聯動高亮時。 normal:myitemStyle, emphasis:myitemStyle, }, lineStyle:{ //圖形樣式,normal 是圖形在預設狀態下的樣式;emphasis 是圖形在高亮狀態下的樣式,比如在滑鼠懸浮或者圖例聯動高亮時。 normal:mylineStyle, emphasis:mylineStyle, }, categories:[ //節點分類的類目,可選。 { name:"類目名稱", //類目名稱 symbol:"pin", //圖形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' symbolSize:50, //標記的大小,可以設定成諸如 10 這樣單一的數字,也可以用陣列分開表示寬和高,例如 [20, 10] 表示標記寬為20,高為10。 symbolRotate:0, //標記的旋轉角度。注意在 markLine 中當 symbol 為 'arrow' 時會忽略 symbolRotate 強制設定為切線的角度。 symbolOffset:[0,0], //標記相對於原本位置的偏移。預設情況下,標記會居中置放在資料對應的位置 label:{ //圖形上的文字標籤,可用於說明圖形的一些資料資訊,比如值,名稱等, normal:mylabel, emphasis:mylabel }, itemStyle:{ //圖形樣式,normal 是圖形在預設狀態下的樣式;emphasis 是圖形在高亮狀態下的樣式,比如在滑鼠懸浮或者圖例聯動高亮時。 normal:myitemStyle, emphasis:myitemStyle, }, } ], data: [ //data就是node { name: '1', x: 10, y: 10, value: 10 }, { name: '2', x: 100, y: 100, value: 20, symbolSize: 20, itemStyle: { normal: { color: 'red' } } } ], links:[ //links就是edges { source: 'n1', target: 'n2' }, { source: 'n2', target: 'n3' } ], //markPoint:同bar //markLine:同bar //markArea:同bar tooltip:tooltip }, ];