ECharts兩種動畫效果完整代碼
加載動畫:當(dāng)數(shù)據(jù)第一次加載或切換數(shù)據(jù)集時(shí),可以通過設(shè)置 animation 屬性來展示加載動畫,具體可以設(shè)置為 ‘auto’ 或者 true,這將啟用默認(rèn)的加載動畫效果,也可以設(shè)置為一個(gè)對象,自定義加載動畫的具體效果。例如:
option = {
animation: true,
...
};更新動畫:當(dāng)數(shù)據(jù)發(fā)生變化時(shí),可以通過設(shè)置 animationDurationUpdate 和 animationEasingUpdate 屬性來展示更新動畫,這將在數(shù)據(jù)變化后自動執(zhí)行動畫,使得數(shù)據(jù)變化更加直觀和平滑。例如:
option = {
series: [{
type: 'sankey',
animationDurationUpdate: 1000, // 更新動畫時(shí)長為 1s
animationEasingUpdate: 'quinticInOut', // 更新動畫緩動效果為 'quinticInOut'
...
}]
...
};在以上代碼中,我們將 series 屬性的 type 設(shè)置為 ‘sankey’,即表示創(chuàng)建一個(gè)?;鶊D,并通過 animationDurationUpdate 和 animationEasingUpdate 屬性分別設(shè)置了更新動畫的時(shí)長和緩動效果。這樣,在數(shù)據(jù)發(fā)生變化時(shí),桑基圖將自動執(zhí)行更新動畫。需要注意的是,為了使用動畫效果,需要將 ECharts 版本升級到 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
}]
}
};
// 顯示加載動畫
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() 方法來展示加載動畫,在異步加載數(shù)據(jù)完成后,使用 hideLoading() 方法來隱藏加載動畫并且調(diào)用 setOption() 方法來設(shè)置圖表數(shù)據(jù)。然后,在延遲 4 秒后,使用 setOption() 方法來更新數(shù)據(jù)。最終效果是一個(gè)帶有加載動畫和更新動畫的桑基圖。
總結(jié)
到此這篇關(guān)于ECharts兩種動畫效果的文章就介紹到這了,更多相關(guān)ECharts動畫效果內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于JavaScript實(shí)現(xiàn)表格隔行換色
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)表格隔行換色,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
JS 退出系統(tǒng)并跳轉(zhuǎn)到登錄界面的實(shí)現(xiàn)代碼
這篇文章介紹了退出系統(tǒng)后跳轉(zhuǎn)到登陸頁面的簡單JS代碼,有需要的朋友可以參考一下2013-06-06
Javascript使用uploadify來實(shí)現(xiàn)多文件上傳
本篇文章主要介紹了Javascript使用uploadify來實(shí)現(xiàn)多文件上傳,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11
JavaScript創(chuàng)建對象的幾種方式小結(jié)
這篇文章主要介紹了 JavaScript 中創(chuàng)建對象的多種方式,包括字面量方式、構(gòu)造函數(shù)方式、原型模式、() 方法、ES6 類,并分別說明了它們的特點(diǎn)和適用場景,強(qiáng)調(diào)在實(shí)際編程中要根據(jù)需求選擇合適的方式以提高代碼質(zhì)量和性能,需要的朋友可以參考下2024-12-12
js剪切板應(yīng)用clipboardData實(shí)例解析
這篇文章主要為大家詳細(xì)介紹了js剪切板應(yīng)用clipboardData實(shí)例,并分享了四種實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下2016-05-05

