ECharts兩種動(dòng)畫效果完整代碼
加載動(dòng)畫:當(dāng)數(shù)據(jù)第一次加載或切換數(shù)據(jù)集時(shí),可以通過設(shè)置 animation 屬性來(lái)展示加載動(dòng)畫,具體可以設(shè)置為 ‘auto’ 或者 true,這將啟用默認(rèn)的加載動(dòng)畫效果,也可以設(shè)置為一個(gè)對(duì)象,自定義加載動(dòng)畫的具體效果。例如:
option = { animation: true, ... };
更新動(dòng)畫:當(dāng)數(shù)據(jù)發(fā)生變化時(shí),可以通過設(shè)置 animationDurationUpdate 和 animationEasingUpdate 屬性來(lái)展示更新動(dòng)畫,這將在數(shù)據(jù)變化后自動(dòng)執(zhí)行動(dòng)畫,使得數(shù)據(jù)變化更加直觀和平滑。例如:
option = { series: [{ type: 'sankey', animationDurationUpdate: 1000, // 更新動(dòng)畫時(shí)長(zhǎng)為 1s animationEasingUpdate: 'quinticInOut', // 更新動(dòng)畫緩動(dòng)效果為 'quinticInOut' ... }] ... };
在以上代碼中,我們將 series 屬性的 type 設(shè)置為 ‘sankey’,即表示創(chuàng)建一個(gè)桑基圖,并通過 animationDurationUpdate 和 animationEasingUpdate 屬性分別設(shè)置了更新動(dòng)畫的時(shí)長(zhǎng)和緩動(dòng)效果。這樣,在數(shù)據(jù)發(fā)生變化時(shí),?;鶊D將自動(dòng)執(zhí)行更新動(dòng)畫。需要注意的是,為了使用動(dòng)畫效果,需要將 ECharts 版本升級(jí)到 4.0 及以上版本。
完整代碼如下:
HTML部分:
<div id="sankeyChart" style="height: 500px;"></div>
js:
// 初始化echarts實(shí)例 var myChart = echarts.init(document.getElementById('sankeyChart')); // 配置項(xiàng) var option = { tooltip: { trigger: 'item', triggerOn: 'mousemove' }, series: { type: 'sankey', emphasis: { focus: 'adjacency' }, nodeWidth: 20, data: [{ name: 'A' }, { name: 'B' }, { name: 'C' }, { name: 'D' }, { name: 'E' }], links: [{ source: 'A', target: 'B', value: 10 }, { source: 'A', target: 'C', value: 15 }, { source: 'B', target: 'D', value: 12 }, { source: 'C', target: 'D', value: 8 }, { source: 'C', target: 'E', value: 10 }] } }; // 顯示加載動(dòng)畫 myChart.showLoading(); // 異步加載數(shù)據(jù) setTimeout(function () { myChart.hideLoading(); myChart.setOption(option); }, 2000); // 更新數(shù)據(jù) setTimeout(function () { option.series.data.push({ name: 'F' }); option.series.links.push({ source: 'D', target: 'F', value: 5 }); myChart.setOption(option); }, 4000);
上述代碼中,通過 showLoading() 方法來(lái)展示加載動(dòng)畫,在異步加載數(shù)據(jù)完成后,使用 hideLoading() 方法來(lái)隱藏加載動(dòng)畫并且調(diào)用 setOption() 方法來(lái)設(shè)置圖表數(shù)據(jù)。然后,在延遲 4 秒后,使用 setOption() 方法來(lái)更新數(shù)據(jù)。最終效果是一個(gè)帶有加載動(dòng)畫和更新動(dòng)畫的?;鶊D。
總結(jié)
到此這篇關(guān)于ECharts兩種動(dòng)畫效果的文章就介紹到這了,更多相關(guān)ECharts動(dòng)畫效果內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript實(shí)現(xiàn)合并(歸并)排序算法示例解析
這篇文章主要為大家介紹了JavaScript實(shí)現(xiàn)合并(歸并)排序算法示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08js為數(shù)字添加逗號(hào)并格式化數(shù)字的代碼
數(shù)字添加逗號(hào)的方法有很多,在本將為大家介紹下使用js來(lái)實(shí)現(xiàn),具體如下,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08原生javascript如何實(shí)現(xiàn)共享onload事件
這篇文章主要介紹了原生javascript如何實(shí)現(xiàn)共享onload事件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07JS實(shí)現(xiàn)根據(jù)用戶輸入分鐘進(jìn)行倒計(jì)時(shí)功能
倒計(jì)時(shí)功能大家無(wú)論在各大網(wǎng)站都可以看到,今天小編給大家分享一段基于js實(shí)現(xiàn)的根據(jù)用戶輸入分鐘進(jìn)行倒計(jì)時(shí)功能,非常不錯(cuò),需要的朋友參考下吧2016-11-11js實(shí)現(xiàn)的標(biāo)題欄新消息閃爍提示效果
這篇文章主要介紹了js實(shí)現(xiàn)的標(biāo)題欄新消息閃爍提示效果,一些大型網(wǎng)站也會(huì)經(jīng)常用到這個(gè)效果,需要的朋友可以參考下2014-06-06前端面向?qū)ο缶幊讨瓻S5語(yǔ)法ES6語(yǔ)法詳解
這篇文章主要為大家介紹了前端面向?qū)ο缶幊讨瓻S5語(yǔ)法ES6語(yǔ)法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11JavaScript中判斷函數(shù)是new還是()調(diào)用的區(qū)別說(shuō)明
具名函數(shù)的各種調(diào)用方式 在之前篇幅中已經(jīng)介紹過了。這篇看看如何判斷一個(gè)函數(shù)是被new調(diào)用的,還是被其它方式調(diào)用的。2011-04-04Vue項(xiàng)目vscode 安裝eslint插件的方法(代碼自動(dòng)修復(fù))
這篇文章主要介紹了Vue項(xiàng)目vscode 安裝eslint插件的方法 代碼自動(dòng)修復(fù),需要的朋友可以參考下2020-04-04微信小程序?qū)崿F(xiàn)音頻文件播放進(jìn)度的實(shí)例代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)音頻文件播放進(jìn)度的實(shí)例代碼,代碼包括對(duì)進(jìn)度條的實(shí)現(xiàn)及進(jìn)度條的滑動(dòng),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03