开发者社区> 问答> 正文

echarts 在默认没有数据情况下, 不能后续加数据?报错

RT, 正常官网上的例子(模块引入), 把xAxis和series中data设置为空数组  []  , 

我执行

function addData(){
var data1 = [1, 2, 3, 4];
myChart.setOption({xAxis:[{data:data1}], series:[{data:data1}]});
}

报错了, 问题在于在1.4和2.0都好使, 但在2.25(最新)中 就不能用, 神马情况

错误信息是series没设置type, 如果你在函数中把type给出了, 他又提示axis或是其他问题。

展开
收起
爱吃鱼的程序员 2020-06-12 15:38:15 811 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    先clear,然后不要用setOption(),新版的源码改了,应该myChart.getSeries()[0].data=你的数组就可以了。xAxis也同样处理。至于dataZoom,因为我的项目需求对其源码进行了修改,所以你的情况没遇到。

    T_T.把原来的option贴一下

    同问,  情况是一样的.

    series[0]charttypehasnotbeendefined. 

    而且用空数组初始化是不行的.表示不能理解.

    重新设置series里的data(为了情况设的是'-')然后setoption() 居然会和上次的data出现在一起.  简直了,然后dataZoom就开始出现诡异的问题,自己拖到0~100就显示出来所有数据没什么问题, 然后拉小点左右拖数据并没有放大,开始出现有一片空白,数据跟x轴都对不上了

    上面的办法不能清空, 用clear() 整个图就没了(我第一次用,这不是dispose该干的事吗)

    (Extjs一起使用)

    现在问题是

    xAxis:[{  type:'category', data:[] .... 不能用来初始化图表

    myChart.setOption({xAxis:[{data:[]}],series:[{data:[] }]});不能清空图表

    回复 @Mr_Jane:我是第一次用echarts.如果初始化时候data:[]有错误提示option.data.length<1.myChart.clear()之后myChart.getSeries()就是undefined了.我还是去看看源码吧:(第一个是用来初始化的,第二个本来就不应该这么清空,应用clear
    2020-06-12 15:38:32
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JS 语言在引擎级别的执行过程 立即下载
Phoenix 全局索引原理与实践 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载