中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

appendData異步加載大數據量分片加載數據和增量渲染的解決方案是什么

發布時間:2021-12-07 09:35:01 來源:億速云 閱讀:347 作者:柒染 欄目:大數據

這期內容當中小編將會給大家帶來有關appendData異步加載大數據量分片加載數據和增量渲染的解決方案是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Echarts官方提供分片加載數據和增量渲染的方法appendData,但是目前的資料比較少。現結合Echarts官方和面向CSDN編程的方法,整理解決方案如下:

echartsInstance. appendData(opts: {
   
   
   // 要增加數據的系列序號。seriesIndex?: string,// 增加的數據。data?: Array|TypedArray}) => string

此接口用于,在大數據量(百萬以上)的渲染場景,分片加載數據和增量渲染。在大數據量的場景下(例如地理數的打點),就算數據使用二進制格式,也會有幾十或上百兆,在互聯網環境下,往往需要分片加載。appendData接口提供了分片加載后增量渲染的能力,渲染新加入的數據塊時不會清除原有已經渲染的部分。 注意: 現在不支持 系列(series) 使用dataset 同時使用 appendData,只支持系列使用自己的 series.data 時使用 appendData。 目前并非所有的圖表都支持分片加載時的增量渲染。目前支持的圖有:ECharts 基礎版本的 散點圖(scatter) 和線圖(lines)。ECharts GL 的 散點圖(scatterGL)、線圖(linesGL) 和可視化建筑群(polygons3D)。

對"在大數據量(百萬以上)的渲染場景,分片加載數據和增量渲染"的理解:
這個是Echarts對外宣傳的非常具有誘惑力的口號,也是當初我下定決心學習Echarts的理由之一。但是在實際開發中,該場景的實現需要多種條件的配合才可以的:

  1. 大數據量的文件生成時間;

  2. API接口大數據量的讀取時間;

  3. ajax獲取數據后,數據格式的處理時間;

  4. DOM的渲染時間;

  5. 在純實驗模式下,如果無需額外加載UI界面、其他圖表的渲染等;

測試目的

Echarts折線圖,appendData異步加載大數據量時,分片加載數據和增量渲染的解決方案

測試環境

  • 本地json,28006條數據
    appendData異步加載大數據量分片加載數據和增量渲染的解決方案是什么

  • ajax異步加載

  success: function (res) {
   
   
   var exData = res.data;//console.log(exData);var lineData = [], LineName = [];if (exData.length > 0) {
   
   
   for (var i = 0; i < exData.length; i++) {
   
   
   lineData.push([exData[i].time.slice(11, 19), exData[i].value]);LineName.push(exData[i].time.slice(11, 19));}}//console.log(lineData);//調用封裝函數;getLine(LineName, lineData);}

方案代碼

  • 設置line的series組件data: [];

  series: [{
   
   
   data: [],type: 'line'}]
  • 渲染圖表,并監聽瀏覽器大小變化進行自適應

      //渲染圖表,并監聽瀏覽器大小變化進行自適應;myChart.setOption(option, true);window.addEventListener("resize", function () {
   
   
   myChart.resize();});
  • 分片加載數據和增量渲染

 //分片加載數據和增量渲染;myChart.appendData({
   
   
   seriesIndex: 0,data: lineData})myChart.resize();

data數據格式為數組:[["08:16:44", "28.1"],["08:16:40", "28.1"]]
appendData異步加載大數據量分片加載數據和增量渲染的解決方案是什么

結論說明

加載28000條數據時,和常規的加載時間差不多;

appendData異步加載大數據量分片加載數據和增量渲染的解決方案是什么

  • 67ms的加載速度,是非常能夠接受的;
    appendData異步加載大數據量分片加載數據和增量渲染的解決方案是什么

加載200000條數據時;

  • 由于data.json文件過大,導致電腦無法打開,故20萬的數據無能如愿測試;

  • 如果使用for循環來測試,則for循環的時間必將計算再內,標準不統一,影響兩次測試的結果,無法說明問題;

大膽的測試

目前測試結果來看,Echarts的宣傳和性能基本上是一致的。但是在項目的開發中,加載慢的很大部分的原因,應該是API接口獲取數據和DOM渲染導致的。

appendData對折線圖起作用嗎?:Echarts高級進階教程(3):appendData大數據量分片加載數據增量渲染和常規思路異步加載數據的對比,對折線圖是無效的

上述就是小編為大家分享的appendData異步加載大數據量分片加載數據和增量渲染的解決方案是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长岛县| 南宫市| 铁力市| 紫云| 巴彦县| 营山县| 廉江市| 密云县| 肥乡县| 始兴县| 桂平市| 交城县| 武鸣县| 上栗县| 通城县| 临朐县| 确山县| 灵山县| 寿宁县| 太和县| 萨嘎县| 日照市| 得荣县| 沁水县| 扶沟县| 增城市| 南溪县| 黄陵县| 景宁| 宜丰县| 贺州市| 胶南市| 远安县| 永安市| 厦门市| 布尔津县| 苏尼特右旗| 清新县| 察哈| 张家界市| 开原市|