ECharts,一個(gè)純 Javascript 的圖表庫(kù),可以流暢的運(yùn)行在 PC 和移動(dòng)設(shè)備上,兼容當(dāng)前絕大部分瀏覽器(IE8/9/10/11,Chrome,Firefox,Safari等),底層依賴輕量級(jí)的 Canvas 類庫(kù) ZRender,提供直觀,生動(dòng),可交互,可高度個(gè)性化定制的數(shù)據(jù)可視化圖表。這里給大家講解兩個(gè)案例帶大家入門ECharts。
入門 Demo 01
如下面 demo 展示,我們嘗試插入一個(gè)簡(jiǎn)單的柱形圖:
下載 ECharts ,由于是初學(xué),隨便下什么版本。然后像普通引入外部 JS 文件一樣引入 Echarts ;
在 body 里面寫一個(gè)具有寬高的容器,準(zhǔn)備往里面塞 ECharts :
1 |
<div id="wrap" style="width: 100%;height: 400px;"></div> |
基于準(zhǔn)備好的 dom ,用 echarts.init() 初始化一個(gè) ECharts 實(shí)例:
1 |
var myChart = echarts.init(document.getElementById(’wrap’)); |
指定圖表配置和數(shù)據(jù),具體見(jiàn) 配置項(xiàng)手冊(cè):
1 |
var option = { |
通過(guò) setOption 方法生成一個(gè)簡(jiǎn)單的柱狀圖,下面是完整代碼。
1 |
<!DOCTYPE html> |
入門 Demo 02
看看上面的demo,我們嘗試畫(huà)一個(gè)進(jìn)化的餅圖 —— 南丁格爾圖
先畫(huà)一個(gè)餅圖:
1 |
var myChart = echarts.init(document.getElementById(’wrap2’)); |
這里 data 屬性值不像入門教程里那樣每一項(xiàng)都是單個(gè)數(shù)值,而是一個(gè)包含 name和 value 屬性的對(duì)象,ECharts 中的數(shù)據(jù)項(xiàng)都是既可以只設(shè)成數(shù)值,也可以設(shè)成一個(gè)包含有名稱、該數(shù)據(jù)圖形的樣式配置、標(biāo)簽配置的對(duì)象,具體見(jiàn) data 文檔。
ECharts 中的餅圖也支持通過(guò)設(shè)置 roseType 顯示成南丁格爾圖。
1 |
roseType: ’angle’ |
南丁格爾圖會(huì)通過(guò)半徑表示數(shù)據(jù)的大小。
還不夠漂亮?試試美化一下吧
添加陰影,使用到 itemStyle:
1 |
roseType: ’angle’,//餅圖轉(zhuǎn)換成南丁格爾圖 |
itemStyle 都會(huì)有 normal 和 emphasis 兩個(gè)選項(xiàng),normal 選項(xiàng)是正常展示下的樣式,emphasis 是鼠標(biāo) hover 時(shí)候的高亮樣式。這個(gè)示例里是正常的樣式下加陰影,但是可能更多的時(shí)候是 hover 的時(shí)候通過(guò)陰影突出。
1 |
itemStyle: { |
設(shè)置深色背景和淺色標(biāo)簽
背景色是全局的,所以直接在 option 下設(shè)置 backgroundColor :
1 |
setOption({ |
文本的樣式可以設(shè)置全局的 textStyle
1 |
setOption({ |
也可以每個(gè)系列分別設(shè)置,每個(gè)系列的文本設(shè)置在 label.normal.textStyle
1 |
label: { |
餅圖的話還要將標(biāo)簽的視覺(jué)引導(dǎo)線的顏色設(shè)為淺色。
1 |
labelLine: { |
設(shè)置扇形的顏色
扇形的顏色也是在 itemStyle 中設(shè)置:
1 |
itemStyle: { |
ECharts 中每個(gè)扇形顏色的可以通過(guò)分別設(shè)置 data 下的數(shù)據(jù)項(xiàng)實(shí)現(xiàn)。
1 |
data: [{ |
但是這次因?yàn)橹挥忻靼刀鹊淖兓杂幸环N更快捷的方式是通過(guò) visualMap 組件將數(shù)值的大小映射到明暗度。
1 |
visualMap: { |
文章來(lái)自:藍(lán)嵐愛(ài)肉肉