W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
設置 ECharts 平行坐標系的系列。
什么是平行坐標系?平行坐標系(Parallel Coordinates) 指的是一種常用的可視化高維數據的圖表。
例如 series-parallel.data 中有如下數據:
[
[1, 55, 9, 56, 0.46, 18, 6, '良'],
[2, 25, 11, 21, 0.65, 34, 9, '優(yōu)'],
[3, 56, 7, 63, 0.3, 14, 5, '良'],
[4, 33, 7, 29, 0.33, 16, 6, '優(yōu)'],
{ // 數據項也可以是 Object,從而里面能含有對線條的特殊設置。
value: [5, 42, 24, 44, 0.76, 40, 16, '優(yōu)']
lineStyle: {...},
}
...
]
在上述數據中,每一行是一個『數據項』,每一列屬于一個『維度』。(例如上面數據每一列的含義分別是:『日期』、『AQI指數』、『PM2.5』、『PM10』、『一氧化碳值』、『二氧化氮值』、『二氧化硫值』)。
平行坐標系適用于對這種多維數據進行可視化分析。每一個維度(每一列)對應一個坐標軸,每一個『數據項』是一條線,貫穿多個坐標軸。在坐標軸上,可以進行數據選取等操作。如下:
平行坐標系的 option 基本配置如下例:
option = {
parallelAxis: [ // 這是一個個『坐標軸』的定義
{dim: 0, name: schema[0].text}, // 每個『坐標軸』有個 'dim' 屬性,表示坐標軸的維度號。
{dim: 1, name: schema[1].text},
{dim: 2, name: schema[2].text},
{dim: 3, name: schema[3].text},
{dim: 4, name: schema[4].text},
{dim: 5, name: schema[5].text},
{dim: 6, name: schema[6].text},
{dim: 7, name: schema[7].text,
type: 'category', // 坐標軸也可以支持類別型數據
data: ['優(yōu)', '良', '輕度污染', '中度污染', '重度污染', '嚴重污染']
}
],
parallel: { // 這是『坐標系』的定義
left: '5%', // 平行坐標系的位置設置
right: '13%',
bottom: '10%',
top: '20%',
parallelAxisDefault: { // 『坐標軸』的公有屬性可以配置在這里避免重復書寫
type: 'value',
nameLocation: 'end',
nameGap: 20
}
},
series: [ // 這里三個系列共用一個平行坐標系
{
name: '北京',
type: 'parallel', // 這個系列類型是 'parallel'
data: [
[1, 55, 9, 56, 0.46, 18, 6, '良'],
[2, 25, 11, 21, 0.65, 34, 9, '優(yōu)'],
...
]
},
{
name: '上海',
type: 'parallel',
data: [
[3, 56, 7, 63, 0.3, 14, 5, '良'],
[4, 33, 7, 29, 0.33, 16, 6, '優(yōu)'],
...
]
},
{
name: '廣州',
type: 'parallel',
data: [
[4, 33, 7, 29, 0.33, 16, 6, '優(yōu)'],
[5, 42, 24, 44, 0.76, 40, 16, '優(yōu)'],
...
]
}
]
};
在配置過程中需要涉及到三個組件:parallel、parallelAxis、series-parallel
當您配置不止一個的 parallelAxis 時,為了避免重復的書寫具有相同值的屬性,您應該將它們放置在 parallel.parallelAxisDefault 里。如此,進行初始化坐標軸之前,會將 parallel.parallelAxisDefault 中的配置項分別在 parallelAxis 中使用,以此形成您最終需要的坐標軸配置。
建議:您可以將 series-parallel.lineStyle.normal.width 設為 0.5(或更?。?,這主要使用在數據量很大并且容易發(fā)生卡頓的時候,該設置能夠明顯的提高性能。
為了避免因為維度過多而不能完整在頁面中顯示的情況發(fā)生(比如:如果有 50 以上的維度,就會產生 50 個以上的軸)。您可以使用 parallel.axisExpandable 來改善顯示效果,如下例子:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: