一、Echarts Tree的概述
Echarts是一個生動、兼容性強並且提供豐富圖表類型的JavaScript圖表庫。它適用於Web端開發,並可在移動端使用。它支持動態數據更新,既有豐富的擴展插件,又有支持多圖表之間的聯動效果,可以作為數據可視化的強有力工具。其中Tree(樹圖)是Echarts中的一種圖表類型,它主要用於表達有根節點的樹形結構數據。通過瀏覽器中樹形結構的可視化,可以更好的理解樹型結構的信息內容。
二、製作Echarts Tree
要製作Echarts Tree,需要先準備好一份數據,該數據需要符合樹型結構的數據要求,這裡以一個包含人員層級關係的數據為例:
/*
數據結構類似如下
{
"name": "XXX",
"children": [
{
"name": "XXX",
"children": [...]
},
...
]
}
*/
const data = {
"name": "大BOSS",
"children": [
{
"name": "副BOSS1",
"children": [
{"name": "員工1"},
{"name": "員工2"}
]
},
{
"name": "副BOSS2",
"children": [
{"name": "員工3"},
{"name": "員工4"},
{"name": "員工5"}
]
}
]
};
以上數據表示一個公司的組織結構,使用Echarts Tree的圖表形式可以構建出高效且生動的組織結構展示圖。接下來就要用到Echarts庫中的Tree組件了。我們先引入Echarts所需要的JS和CSS:
接下來請看下面代碼示例,來了解Tree組件的實現過程:
let myChart = echarts.init(document.getElementById('myChart'));
let option = {
tooltip: {
trigger: 'item',
triggerOn: 'mousemove'
},
series: [
{
type: 'tree', // 樹形結構
data: [data], // 提供樹型數據
left: '2%',
right: '2%',
top: '8%',
bottom: '20%',
symbolSize: 7, // 圖形大小調整
label: {
position: 'left',
verticalAlign: 'middle',
align: 'right',
fontSize: 15
},
itemStyle: {
borderColor: '#00bfff',
borderWidth: 2,
shadowColor: '#00bfff',
shadowBlur: 10
},
lineStyle: {
color: '#00bfff',
curveness: 0.5 // 線條的弧度
}
}
]
};
myChart.setOption(option);
這段代碼就可以生成一個組織結構樹形結構圖,它主要實現了ECharts Tree組件的配置。tooplit用於懸浮在圖表上時,顯示提示的內容。data提供了該組織結構形態的數據。left/right/top/bottom設置的就是圖表的位置大小。symbolSize針對每個圖形的框架大小。itemStyle可以設置各個圖形框架的樣式,也可以設置影子。LineStyle設置是關於連線的樣式和顏色,有curveness屬性可以調整線條的弧度。
三、應用場景
ECharts Tree可以應用於很多場景,如組織架構圖、譜系關係圖、類目關係圖等。下面以組織架構圖為例,展示如何使用ECharts的Tree組件展現企業的各部門與員工。假設有以下JSON數據:
const mydata = {
"name": "騰訊",
"children": [
{
"name": "GUANGZHOU",
"children": [
{
"name": "CBG",
"children": [
{"name": "王者榮耀-QC組"},
{"name": "QQ音樂-QC組"},
{"name": "QQ郵箱-QC組"}
]
},
{
"name": "CDG",
"children": [
{"name": "手游APP部門"},
{"name": "微信支付部門"},
{"name": "騰訊新聞部門"}
]
},
{"name": "CHEGHAI"},
{"name": "COLPG"}
]
},
{
"name": "BEIJING",
"children": [
{
"name": "WXG",
"children": [
{"name": "微信開放平台部門"},
{"name": "微信搜索部門"}
]
},
{
"name": "CSAIR",
"children": [
{"name": "雄安新區項目部門"},
{"name": "5G技術研發部門"}
]
},
{"name": "WANGJING"}
]
},
{
"name": "SHENZHEN",
"children": [
{
"name": "TENCENT AMERICA",
"children": [
{"name": "騰訊雲部門"},
{"name": "we遊戲部門"}
]
},
{
"name": "TENCENT EUROPE",
"children": [
{"name": "財務部門"},
{"name": "人力資源部門"}
]
}
]
}
]
}
可以通過以下代碼來實現組織架構圖的繪製:
let myChart = echarts.init(document.getElementById('myChart'));
myChart.setOption({
tooltip: {
trigger: 'item',
triggerOn: 'mousemove'
},
series: [{
type: 'tree',
data: [mydata],
left: '2%',
right: '2%',
top: '8%',
bottom: '20%',
symbolSize: 7,
label: {
position: 'left',
verticalAlign: 'middle',
align: 'right',
fontSize: 15
},
itemStyle: {
borderColor: '#00bfff',
borderWidth: 2,
shadowColor: '#00bfff',
shadowBlur: 10
},
lineStyle: {
color: '#00bfff',
curveness: 0.5
}
}]
});
通過以上代碼,就可以繪製出一個美觀、直觀的組織架構圖。
四、總結
本文對Echarts Tree進行了詳細的介紹。首先,我們了解了ECharts Tree組件的概況,並在實現的過程中,深入了解了各項基本配置的細節,最後,我們以組織架構圖為例,說明了Echarts Tree的應用場景。Echarts Tree提供了一個高效、生動的數據展現方式,如果想要讓數據在瀏覽器中可視化,那麼Echarts Tree不失為一種優秀的選擇。
原創文章,作者:NPPQY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/317213.html
微信掃一掃
支付寶掃一掃