專案地址
介紹
折線圖是用折線將各個資料點連線起來的圖表,一般用於展示資料變化的趨勢。
區域圖則是在折線圖的基礎上,將指定的區域填充上顏色
通過實現折線圖、堆疊區域折線圖的兩個圖表。我們會學習到以下內容
- 折線圖
- 標題設定(title)
- 圖表自定義元件(toolbox、dataZoom、visualMap)
- 堆疊面積折線圖
- 座標軸兩邊留白策略(boundaryGap)
- 區域面積設定(areaStyle)
折線圖分析
折線圖繪圖順序
- 設定X、Y軸及其對應的維度、度量資料
- 設定標題
- 設定工具欄元件
- 設定區域縮放元件
- 設定視覺對映元件
折線圖繪圖單元配置表
X、Y軸已經在柱狀圖中學習過,在本示例中設定步驟一致,不做贅述
繪圖單元 | 配置項 |
---|---|
標題 | title |
工具欄 | toolbox |
資料縮放 | dataZoom |
視覺對映 | visualMap |
折線圖繪圖單元配置表分析
標題元件包含主標題與副標題,用於描述圖表的基本資訊。對應常用屬性及說明如下:
屬性名稱 | 含義 | 說明 |
---|---|---|
text | 主標題文字 | 支援用\n換行 |
textStyle | 主標題樣式 | 無 |
工具欄元件內建了一些對圖表的操作,分別為匯出圖片,資料檢視,動態型別切換,資料區域縮放,重置五個工具。對應常用屬性及說明如下:
屬性名稱 | 含義 | 說明 |
---|---|---|
top、right、bottom、left | 工具欄距離容器各方向距離 | 無 |
feature | 各工具配置項 | 設定工具的具體配置,還可以自定義工具 |
區域縮放元件,可以關注指定範圍的資料。擴充套件了圖表的可視範圍。對應常用屬性及說明如下:
屬性名稱 | 含義 | 說明 |
---|---|---|
type | 區域縮放元件型別 | inside:可以直接操作圖表縮放;slider:只能滑動元件調整縮放 |
startValue | 資料視窗範圍的起始數值 | 如果設定start,則startValue失效 |
視覺對映元件,用於將資料對映到視覺元素(圖元圖形類別、顏色、大小...)。對應常用屬性及說明如下:
屬性名稱 | 含義 | 說明 |
---|---|---|
type | 型別 | continuous:連續型;piecewise:分段型 |
pieces | 分段型的每一段的範圍 | min:最小;max:最大;lt:小於;gt:大於;lte:小於等於;gte:大於等於 |
outOfRange | 範圍外的視覺元素 | 可選:型別、大小、顏色、透明度、色調... |
折線圖示例程式碼分析
let chart = echarts.init(this.$refs.chart);
let option = {
title: {
text: 'Beijing AQI'
},
tooltip: {
trigger: 'axis'
},
xAxis: {
data: lineData.map(function (item) {
return item[0];
})
},
yAxis: {
splitLine: {
show: false
}
},
toolbox: {
left: 'center',
feature: {
restore: {},
saveAsImage: {}
}
},
dataZoom: [{
startValue: '2014-06-01'
}, {
type: 'inside'
}],
visualMap: {
pieces: [{
gt: 0,
lte: 50,
color: '#096'
}, {
gt: 50,
lte: 100,
color: '#ffde33'
}, {
gt: 100,
lte: 150,
color: '#ff9933'
}, {
gt: 150,
lte: 200,
color: '#cc0033'
}, {
gt: 200,
lte: 300,
color: '#660099'
}, {
gt: 300,
color: '#7e0023'
}],
outOfRange: {
color: '#999'
}
},
series: {
name: 'Beijing AQI',
type: 'line',
data: lineData.map(function (item) {
return item[1];
})
}
}
chart.setOption(option);
複製程式碼
標題:title.text設定的內容為Beijing AQI,並未設定標題位置等樣式資訊。預設顯示在左上角
提示:tooltip.trigger設定為axis,當滑鼠懸浮到座標軸區域時,會顯示預設的提示資訊
X、Y軸與之前的圖表一致,不做額外分析
工具欄:toolbox.left設定為center,表示工具欄顯示位置為水平方向的居中位置。toolbox.feature中包含restore與saveAsImage選項,提供了重置圖表、儲存為圖片的功能
區域縮放:dataZoom[0].startValue設定為2014-06-01,設定了圖表範圍的起始值。dataZoom[1].type設定為inside意味著圖表可以使用滑鼠/觸控板直接縮放圖表
視覺對映:visualMap.pieces設定了pieces陣列。說明當前對映元件型別為分段式,陣列的每一項分別設定了每一段的範圍。gt、lte分別代表大於和小於等於,當前示例分別設定了5個範圍。visualMap.outOfRange設定了不在範圍內的視覺顏色為#999。
折線圖實現效果
堆疊面積折線圖分析
堆疊面積折線圖繪圖順序
- 設定標題(title)
- 設定提示(tooltip)
- 設定圖例(legend)
- 設定工具欄(toolbox)
- 設定網格(grid)
- 設定X、Y軸維度及度量
- 設定區域填充(areaStyle)
- 設定折線平滑(smooth)
- 設定座標軸留白(boundaryGap)
堆疊面積折線圖繪圖單元配置表
1-6分別在柱狀圖和折線圖中已經學習過,不做贅述。主要學習7-9
繪圖單元 | 配置項 |
---|---|
區域填充 | areaStyle |
平滑曲線 | smooth |
座標軸留白 | boundaryGap |
堆疊面積折線圖單元配置表分析
區域填充作為折線圖的樣式補充,可以將折線圖設定為填充色。說明如下:
屬性名稱 | 含義 | 說明 |
---|---|---|
color | 填充顏色 | 支援rgb、16進位制 |
origin | 圖形區域的起始位置 | auto:座標軸線到資料間、start座標軸底部到資料間、end座標軸頂部到資料間 |
平滑曲線是折線圖中的特有屬性,可以將折線乖點調整為平滑曲線。說明如下:
屬性名稱 | 含義 | 說明 |
---|---|---|
smooth | 折線是否平滑 | 如果是boolean型別,表示是否開啟。如果是number型,表示平滑程度,越小表示越接近折線 |
座標軸留白代表座標軸兩端的留白策略。維度軸和度量軸的表現方式有所區別。說明如下:
屬性名稱 | 含義 | 說明 |
---|---|---|
boundaryGap | 座標軸兩邊留白策略 | 維度軸:座標軸為boolean指定是否有留白;度量軸:為兩個值的陣列,分別表示最小值和最大值範圍 |
堆疊面積折線圖示例程式碼分析
xAixs中boundaryGap屬性設定為ture,並且type為category。說明座標留白策略的設定物件為維度軸,則體現為X軸兩端存在空白區域
series[i]中存在areaStyle物件,表示折線圖設定成區域填充圖。smooth設定為true則代表折線表現形式為光滑曲線
堆疊面積折線圖實現效果
思考&練習
- 如何自定義工具欄
- 視覺對映元件切換為連續型
- 區域縮放設定為內建型
- 度量軸範圍留白策略如何設定