學習下ECharts 非同步載入資料
導讀 | ECharts 通常資料設定在 setOption 中,如果我們需要非同步載入資料,可以配合 jQuery等工具,在非同步獲取資料後通過 setOption 填入資料和配置項就行。 |
ECharts 通常資料設定在 setOption 中,如果我們需要非同步載入資料,可以配合 jQuery等工具,在非同步獲取資料後通過 setOption 填入資料和配置項就行。 json 資料:
echarts_test_data.json 資料: { "data_pie" : [ {"value":235, "name":"視訊廣告"}, {"value":274, "name":"聯盟廣告"}, {"value":310, "name":"郵件營銷"}, {"value":335, "name":"直接訪問"}, {"value":400, "name":"搜尋引擎"} ] }
例項
var myChart = echarts.init(document.getElementById('main')); $.get('(data) { myChart.setOption({ series : [ { name: '訪問來源', type: 'pie', // 設定圖表型別為餅圖 radius: '55%', // 餅圖的半徑,外半徑為可視區尺寸(容器高寬中較小一項)的 55% 長度。 data:data.data_pie } ] }) }, 'json')
如果非同步載入需要一段時間,我們可以新增 loading 效果,ECharts 預設有提供了一個簡單的載入動畫。只需要呼叫 showLoading 方法顯示。資料載入完成後再呼叫 hideLoading 方法隱藏載入動畫:
例項
var myChart = echarts.init(document.getElementById('main')); myChart.showLoading(); // 開啟 loading 效果 $.get('(data) { myChart.hideLoading(); // 隱藏 loading 效果 myChart.setOption({ series : [ { name: '訪問來源', type: 'pie', // 設定圖表型別為餅圖 radius: '55%', // 餅圖的半徑,外半徑為可視區尺寸(容器高寬中較小一項)的 55% 長度。 data:data.data_pie } ] }) }, 'json')
資料的動態更新
ECharts 由資料驅動,資料的改變驅動圖表展現的改變,因此動態資料的實現也變得異常簡單。
所有資料的更新都通過 setOption 實現,你只需要定時獲取資料,setOption 填入資料,而不用考慮資料到底產生了那些變化,ECharts 會找到兩組資料之間的差異然後通過合適的動畫去表現資料的變化。
例項
var base = +new Date(2014, 9, 3); var oneDay = 24 * 3600 * 1000; var date = []; var data = [Math.random() * 150]; var now = new Date(base); function addData(shift) { now = [now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'); date.push(now); data.push((Math.random() - 0.4) * 10 + data[data.length - 1]); if (shift) { date.shift(); data.shift(); } now = new Date(+new Date(now) + oneDay); } for (var i = 1; i < 100; i++) { addData(); } option = { xAxis: { type: 'category', boundaryGap: false, data: date }, yAxis: { boundaryGap: [0, '50%'], type: 'value' }, series: [ { name:'成交', type:'line', smooth:true, symbol: 'none', stack: 'a', areaStyle: { normal: {} }, data: data } ] }; setInterval(function () { addData(true); myChart.setOption({ xAxis: { data: date }, series: [{ name:'成交', data: data }] }); }, 500);
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2789334/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 小程式中使用ECharts 非同步載入資料Echarts非同步
- echarts非同步載入Echarts非同步
- 基於echarts非同步載入資料之多個series載入例項Echarts非同步
- echarts3.0非同步資料載入之series樣式處理EchartsS3非同步
- TS_0001:同步載入資料
- Python學習之路15-下載資料Python
- ClickHouse學習系列之八【資料匯入遷移&同步】
- (課程學習)Android必學-非同步載入 —— 監聽 ListViewAndroid非同步View
- 【學習】Vue 載入優化以及元件非同步載入缺點解決方案Vue優化元件非同步
- AssetBoundle載入非預設資源
- Echarts學習筆記Echarts筆記
- Giraph 原始碼分析(五)—— 載入資料+同步總結原始碼
- 學習日常:造資料 - 下
- 學習筆記15:第二種載入資料的方法筆記
- echarts入門(通過axios請求資料)EchartsiOS
- 機器學習實戰原始碼和資料集下載機器學習原始碼
- 深度強化學習資料(視訊+PPT+PDF下載)強化學習
- 類載入-載入時機學習
- Spring Boot 學習資料 (轉載)Spring Boot
- echarts遷移圖動態載入Echarts
- 免費!資料科學及機器學習必備書單下載!資料科學機器學習
- 最全MTK入門晉級資料下載
- 【資料合集】HarmonyOS從入門到大神資料下載合集
- Oracle學習、進階資料合集(含教程、筆記、題庫下載與學習方法分享)Oracle筆記
- 資料載入
- 大資料學習:怎樣進行大資料的入門級學習?大資料
- 大資料怎樣入門學習?大資料
- 【TVM 學習資料】TensorIR 快速入門
- 大資料學習入門規劃?和學習路線大資料
- laravel中ajax 非同步載入資料,選擇對應的學校對應的專業Laravel非同步
- 基於DataX的資料同步(下)-應用DataX進行資料同步
- 【持續更新...】ECharts學習筆記Echarts筆記
- 利用Kettle進行資料同步(下)
- SpringMVC入門學習---資料的處理SpringMVC
- 同步非同步,阻塞非阻塞非同步
- 非同步、同步、阻塞、非阻塞非同步
- Python學習手冊(入門&爬蟲&資料分析&機器學習&深度學習)Python爬蟲機器學習深度學習
- webpack 非同步載入原理Web非同步