真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)appendData異步加載大數(shù)據(jù)量分片加載數(shù)據(jù)和增量渲染的解決方案是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為蚌埠企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站制作,蚌埠網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

Echarts官方提供分片加載數(shù)據(jù)和增量渲染的方法appendData,但是目前的資料比較少?,F(xiàn)結(jié)合Echarts官方和面向CSDN編程的方法,整理解決方案如下:

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

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

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

  1. 大數(shù)據(jù)量的文件生成時間;

  2. API接口大數(shù)據(jù)量的讀取時間;

  3. ajax獲取數(shù)據(jù)后,數(shù)據(jù)格式的處理時間;

  4. DOM的渲染時間;

  5. 在純實驗?zāi)J较拢绻麩o需額外加載UI界面、其他圖表的渲染等;

測試目的

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

測試環(huán)境

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

  • 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);//調(diào)用封裝函數(shù);getLine(LineName, lineData);}

方案代碼

  • 設(shè)置line的series組件data: [];

  series: [{
   
   
   data: [],type: 'line'}]
  • 渲染圖表,并監(jiān)聽瀏覽器大小變化進行自適應(yīng)

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

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

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

結(jié)論說明

加載28000條數(shù)據(jù)時,和常規(guī)的加載時間差不多;

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

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

加載200000條數(shù)據(jù)時;

  • 由于data.json文件過大,導(dǎo)致電腦無法打開,故20萬的數(shù)據(jù)無能如愿測試;

  • 如果使用for循環(huán)來測試,則for循環(huán)的時間必將計算再內(nèi),標(biāo)準(zhǔn)不統(tǒng)一,影響兩次測試的結(jié)果,無法說明問題;

大膽的測試

目前測試結(jié)果來看,Echarts的宣傳和性能基本上是一致的。但是在項目的開發(fā)中,加載慢的很大部分的原因,應(yīng)該是API接口獲取數(shù)據(jù)和DOM渲染導(dǎo)致的。

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

上述就是小編為大家分享的appendData異步加載大數(shù)據(jù)量分片加載數(shù)據(jù)和增量渲染的解決方案是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站題目:appendData異步加載大數(shù)據(jù)量分片加載數(shù)據(jù)和增量渲染的解決方案是什么
URL地址:http://www.weahome.cn/article/iedjjg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部