ECharts 教程
ECharts 使用 dataset 管理數(shù)據(jù)。
dataset 組件用于單獨(dú)的數(shù)據(jù)集聲明,從而數(shù)據(jù)可以單獨(dú)管理,被多個(gè)組件復(fù)用,并且可以基于數(shù)據(jù)指定數(shù)據(jù)到視覺(jué)的映射。
下面是一個(gè)最簡(jiǎn)單的 dataset 的例子:
或者也可以使用常見(jiàn)的對(duì)象數(shù)組的格式:
我們可以在配置項(xiàng)中將數(shù)據(jù)映射到圖形中。
我們可以使用 series.seriesLayoutBy 屬性來(lái)配置 dataset 是列(column)還是行(row)映射為圖形系列(series),默認(rèn)是按照列(column)來(lái)映射。
以下實(shí)例我們將通過(guò) seriesLayoutBy 屬性來(lái)配置數(shù)據(jù)是使用列顯示還是按行顯示。
常用圖表所描述的數(shù)據(jù)大部分是"二維表"結(jié)構(gòu),我們可以使用 series.encode 屬性將對(duì)應(yīng)的數(shù)據(jù)映射到坐標(biāo)軸(如 X、Y 軸):
encode 聲明的基本結(jié)構(gòu)如下,其中冒號(hào)左邊是坐標(biāo)系、標(biāo)簽等特定名稱,如 'x', 'y', 'tooltip' 等,冒號(hào)右邊是數(shù)據(jù)中的維度名(string 格式)或者維度的序號(hào)(number 格式,從 0 開(kāi)始計(jì)數(shù)),可以指定一個(gè)或多個(gè)維度(使用數(shù)組)。通常情況下,下面各種信息不需要所有的都寫,按需寫即可。
下面是 encode 支持的屬性:
// 在任何坐標(biāo)系和系列中,都支持: encode: { // 使用 “名為 product 的維度” 和 “名為 score 的維度” 的值在 tooltip 中顯示 tooltip: ['product', 'score'] // 使用 “維度 1” 和 “維度 3” 的維度名連起來(lái)作為系列名。(有時(shí)候名字比較長(zhǎng),這可以避免在 series.name 重復(fù)輸入這些名字) seriesName: [1, 3], // 表示使用 “維度2” 中的值作為 id。這在使用 setOption 動(dòng)態(tài)更新數(shù)據(jù)時(shí)有用處,可以使新老數(shù)據(jù)用 id 對(duì)應(yīng)起來(lái),從而能夠產(chǎn)生合適的數(shù)據(jù)更新動(dòng)畫。 itemId: 2, // 指定數(shù)據(jù)項(xiàng)的名稱使用 “維度3” 在餅圖等圖表中有用,可以使這個(gè)名字顯示在圖例(legend)中。 itemName: 3 } // 直角坐標(biāo)系(grid/cartesian)特有的屬性: encode: { // 把 “維度1”、“維度5”、“名為 score 的維度” 映射到 X 軸: x: [1, 5, 'score'], // 把“維度0”映射到 Y 軸。 y: 0 } // 單軸(singleAxis)特有的屬性: encode: { single: 3 } // 極坐標(biāo)系(polar)特有的屬性: encode: { radius: 3, angle: 2 } // 地理坐標(biāo)系(geo)特有的屬性: encode: { lng: 3, lat: 2 } // 對(duì)于一些沒(méi)有坐標(biāo)系的圖表,例如餅圖、漏斗圖等,可以是: encode: { value: 3 }
更多 encode 實(shí)例:
我們可以使用 visualMap 組件進(jìn)行視覺(jué)通道的映射。
視覺(jué)元素可以是:
visualMap 組件可以定義多個(gè),從而可以同時(shí)對(duì)數(shù)據(jù)中的多個(gè)維度進(jìn)行視覺(jué)映射。
以下實(shí)例多個(gè)圖表共享一個(gè) dataset,并帶有聯(lián)動(dòng)交互: