echarts重新整理資料時x資料不變

2021-10-06 23:24:13 字數 1415 閱讀 7810

在工作中利用echarts繪製折線圖,發現當x軸時間更新時,x軸並沒有重新整理,當時的**如下。

初始化echarts

var initoption =

, legend:

, grid:

, toolbox:}}

, xaxis:

, yaxis:

, series:

};var tablechart;

require.

config(}

);require([

'echarts'

,'echarts/chart/line'

,//需要折線圖則載入line模組

'echarts/chart/bar'

// 使用柱狀圖就載入bar模組,按需載入],

function

(echarts)

);

填充資料

var cmap = data;

var series=

;var title=cmap.title;

var days = cmap.legend;

for(

var mo in cmap.data));

}var option = tablechart.

getoption()

; option.title.text=

"***x"

; option.series=series;

option.xaxis.data=days;

option.legend.data=title;

tablechart.

setoption

(option,

true

);

問題出現以後在網上搜尋了一下,有說呼叫 setoption(option,true)萬能介面的,有說呼叫destory(),clear().clean()等介面的 ,經過測試都不行,還有一些比較複雜的方式,沒有去具體測試,不知道是否可以。

具體原因是xaxis在初始化的時候賦值為乙個陣列,而重新整理資料的時候只是重新整理xaxis的data部分,這個時候xaxis陣列結構已經被破壞 ,存在兩個data,因此在重新整理的時候找不到要重新整理的資料,導致重新整理失敗。

第一次初始化賦值

option.xaxis:

第二次重新整理資料

option.xaxis:[0:,data:array(5)]

根據option.xaxis.data無法找到對應的data資料。

採用的笨辦法

if (option.xaxis.length ==undefined)else

可以順利解決問題。

fragment切換時,重新整理資料

一般,我們做專案,底部的4個fragment切換時,最好可以重新整理資料 做fragment顯影藏時,最好用hide,show 這時會有乙個方法onhiddenchanged 在這裡面我們可以重新整理資料 還可以做這個操作 點當前tab,也重新整理介面 override public void on...

echarts動態載入資料時改變legend的值

如下,非常簡單,只需清空畫布即可。網上有一種對option的legend重新賦值的方法,我在本地環境jquery echarts 4.x的環境下除錯時發現是無效的,但是有同事使用是有效的,暫時沒找到原因,不能認為是一種通用的解決方法。an highlighted block let chart ec...

Echarts 資料繫結

簡單的統計表已經可以生成,不過之前圖示資料都是直接寫在引數裡面的,而實際使用中,我們的資料一般都是非同步讀取的。echart.js對於資料非同步讀取這塊提供了非同步載入的方法。很多時候需要展示的資料不單單是一組資料,很多時候會進行乙個資料對比。這個時候只需要在series中增加一組資料,legend...