ECharts官方教程 八 資料的視覺對映

2021-08-13 17:16:29 字數 2198 閱讀 1418

資料視覺化是 資料 到 視覺元素 的對映過程(這個過程也可稱為視覺編碼,視覺元素也可稱為視覺通道)。

echarts 的每種圖表本身就內建了這種對映過程,比如折線圖把資料對映到『線』,柱狀圖把資料對映到『長度』。一些更複雜的圖表,如graph事件河流圖treemap也都會做出他們內建的對映。

此外,echarts 還提供了visualmap元件 來提供通用的視覺對映。visualmap 元件中可以使用的視覺元素有:

圖形類別(symbol)圖形大小(symbolsize)

顏色(color)透明度(opacity)顏色透明度(coloralpha)

顏色明暗度(colorlightness)顏色飽和度(colorsaturation)色調(colorhue)

下面對visualmap元件的使用方式進行簡要的介紹。

echarts中的資料,一般存放於 series.data 中。根據圖表型別不同,資料的具體形式也可能有些許差異。比如可能是『線性表』、『樹』、『圖』等。但他們都有個共性:都是『資料項(dataitem)』的集合。每個資料項含有『資料值(value)』和其他資訊(如果需要的話)。每個資料值,可以是單一的數值(一維)或者乙個陣列(多維)。

例如,series.data 最常見的形式,是『線性表』,即乙個普通陣列:

series: 

},1212, // 也可以直接是 dataitem 的 value,這更常見。

2323, // 每個 value 都是『一維』的。

4343,

3434

]}series:

},[1212, 5454, '梵蒂岡'], // 也可以直接是 dataitem 的 value,這更常見。

[2323, 3223, '諾魯'], // 每個 value 都是『三維』的,每列是乙個維度。

[4343, 23, '吐瓦魯'] // 假如是『氣泡圖』,常見第一維度對映到x軸,

// 第二維度對映到y軸,

// 第三維度對映到氣泡半徑(symbolsize)

]}

在圖表中,往往預設把 value 的前一兩個維度進行對映,比如取第乙個維度對映到x軸,取第二個維度對映到y軸。如果想要把更多的維度展現出來,可以借助visualmap。最常見的情況,氣泡圖(scatter) 使用半徑展現了第三個維度。

visualmap 元件定義了把資料的『哪個維度』對映到『什麼視覺元素上』。

現在提供如下兩種型別的visualmap元件,通過 visualmap.type 來區分。

其定義結構例如:

option = ,

],...

};

連續型(visualmapcontinuous):

src="" width="600" height="400">

連續型資料平均分段: 依據 visualmap-piecewise.splitnumber 來自動平均分割成若干塊。

連續型資料自定義分段: 依據 visualmap-piecewise.pieces 來定義每塊範圍。

離散資料(類別性資料): 類別定義在 visualmap-piecewise.categories 中。

視覺對映方式的配置

既然是『資料』到『視覺元素』的對映,visualmap 中可以指定資料的『哪個維度』(參見visualmap.dimension)對映到哪些『視覺元素』(參見 visualmap.inrange 和 visualmap.outofrange)中。

例一:

option = ,

outofrange:

},...

]};

例二:

option = ,

...},

...]

};

更多詳情,參見visualmap.inrangevisualmap.outofrange

ECharts官方教程 十二 自定義系列

自定義系列 custom series 是一種系列的型別。它把繪製圖形元素這一步留給開發者去做,從而開發者能在座標系中自由繪製出自己需要的圖表。echarts 為什麼會要支援 自定義系列 呢?echarts 內建支援的圖表型別是最常見的圖表型別,但是圖表型別是難於窮舉的,有很多小眾的需求 echar...

Jsoup官方教程 四 資料修改

在你解析乙個document之後可能想修改其中的某些屬性值,然後再儲存到磁碟或都輸出到前台頁面。可以使用屬性設定方法element.attr string key,string value 和elements.attr string key,string value 假如你需要修改乙個元素的clas...

OgreOde官方教程出現的問題

ogre官方 有關於ogreode是初級教程,但是編譯之後有一些小問題,一是不能發生碰撞,crate會從地面上穿過去,二是加入碰撞檢測之後會有一半穿過平面。include include include marcbasicframelistener.h include ogreosmscene.h ...