Vue echarts

官網(wǎng)奉上?ECharts

vue項目中可以引入echarts?或者?vue echarts,大致區(qū)別如下:

echarts就是官方的js庫;

vue-echarts是封裝后的vue插件,功能一致只是把它封裝成vue插件? ?這樣更方便以vue的方式去使用

具體引入方式:在Vue中使用echarts的兩種方式



? ??????????????????????????????????這里主要介紹引入官方?echarts

強迫癥? 代碼潔癖的看這里 (按需引入echarts):

echarts 官方按需引入模塊介紹

webpack 中使用 echarts

如果在main.js中引入報錯的話請自行根據(jù)載包的目錄進(jìn)行修改(即到node_module中找到文件路徑)

一般先在官網(wǎng)的實例中找到想要的效果,點擊進(jìn)去拷貝代碼到項目中。

官網(wǎng)實例

? ??????????????????????????????????????????????以下是大概結(jié)構(gòu)

dom結(jié)構(gòu)
echarts繪制結(jié)構(gòu)


如果對效果不滿意,再到官網(wǎng)配置項查找相對應(yīng)屬性進(jìn)行設(shè)置。注意:文檔盡量用最新版的

配置項

例如:series屬性控制要顯示的圖表類型,可以是柱體圖、餅圖、折線圖、或者地圖

series屬性



? ????????????????????????????????????????????????echarts地圖

series{ type: map }

因為地圖精度的提高,echarts 官方不再內(nèi)置地圖數(shù)據(jù)增大代碼體積。這是官方以百度地圖為底圖的實例:ECharts Examples

ECharts 中提供了兩種格式的地圖數(shù)據(jù),一種是可以直接 script 標(biāo)簽引入的 js 文件,引入后會自動注冊地圖名字和數(shù)據(jù)。還有一種是 JSON 文件,需要通過 AJAX 異步加載后手動注冊。

兩種方式引入

這里推薦兩個地圖json下載鏈接:地圖選擇器?、ECharts 地圖數(shù)據(jù)在線生成工具

如果發(fā)現(xiàn)地圖上的文字不居中,打開地圖 js 或 Json 文件,找到地圖描述的("properties":{"name":"XX省","cp":[101.04524,23.062507],"childNum":1},)內(nèi)容,將("cp":[xx,xx])內(nèi)容刪除,省名就會自動在該省的地圖中間了,否則會默認(rèn)在省會或首府位置顯示


地圖下鉆

類似 省市區(qū)三級下鉆 這種需求,可以參考一下?GitHub - dongkelun/vue-echarts-map: Vue版本Echarts中國地圖鉆取



????????????????????????????????????

????????????????????????????????????????echarts自適應(yīng)

echarts圖表的尺寸自適應(yīng),是靠監(jiān)聽 window 的 onresize 來實現(xiàn)的,而有時候需要實現(xiàn) window 窗口大小不變,echarts?容器?尺寸變化時圖表也能夠自適應(yīng)。官方文檔也有對類似的需求進(jìn)行說明

比如項目中有對菜單折疊的需求,每次折疊菜單echarts圖表都無法進(jìn)行自適應(yīng),參考以下鏈接

dom元素增加resize,以及echart增加resize

echarts圖表初始大小問題及echarts隨窗口變化自適應(yīng) - 一只愛吃糖的小羊 - CSDN博客

由于項目中的echarts 容器寬度是百分?jǐn)?shù)來控制,并不能很好通過上面兩種方法解決

皮一下

于是有了對echarts圖表銷毀重新繪制的想法,通過調(diào)用官方的api:dispose()進(jìn)行銷毀再重新繪制。這里要注意:dispose()和clear()的區(qū)別??清除echarts 實例 - jiang_mingyi的博客 - CSDN博客

每次點擊伸縮菜單,通過循環(huán)對當(dāng)前路由所有echarts實例進(jìn)行銷毀再繪制,添加定時器對性能進(jìn)行優(yōu)化,而且最主要原因可能是容器寬度有延遲


????????????????????????????

????????????????????????????echarts 調(diào)整圖表在容器當(dāng)中的大小

有時候發(fā)現(xiàn)echarts圖表并不能很好布滿容器,這主要跟grid屬性有關(guān)??echarts 調(diào)整圖表大小的方法 - 你說什么我聽不見 - CSDN博客




????????????????????????????echarts 柱狀圖legend圖例不顯示


legend中數(shù)據(jù)要和series中name的值保持一致,餅圖、折線圖沒有這個要求

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容