欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

转 echarts 的使用时遇到的坑 初始化和销毁,亲测有效!

程序员文章站 2022-10-08 22:28:35
纵观ECharts图表实例化的API,主要有一下几个相关的实例化方法: 1、setOption(Object option,{boolean = true} notMerge) 参数: 1)、Object类型的参数 option,表示图表数据结构 ,形如: 1.var option = { 2. t ......

纵观echarts图表实例化的api,主要有一下几个相关的实例化方法:

1、setoption(object option,{boolean = true} notmerge)

参数:

1)、object类型的参数 option,表示图表数据结构 ,形如:

 

 
1.var option  = {
2.                title: {
3.                    text: "我的第一个echarts图表示例"
4.                },
5.                tooltip: {
6.                    trigger: 'axis'
7.                }
8.            };

 

2)、boolean notmerge,表示是否合并option。默认为false,可以不设置。

描述:

万能接口,配置图表实例任何可配置选项(详见option),多次调用时option选项是默认是合并(merge)的,如果不需求,可以通过notmerger参数为true阻止与上次option的合并。

2、getoption()

描述:

返回内部持有的当前显示option克隆

3、setseries(array series,{boolean=}notmerge)

参数:

1)、array类型的series序列数据,形如:

 

 
01.var array serieslist = new array();
02. 
03.var seriesobj = new seriesobj();
04.seriesobj.name = "蒸发量";
05.seriesobj.type = "line";
06.seriesobj.data = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3];
07. 
08.//设置series
09.mychart.setseries(serieslist,false);

 

2)、boolean notmerge 表示是否合并series,默认为false,可以不设置。

描述:

数据接口,驱动图表生成的数据内容,效果等同调用setoption({series:{...}})

4、getseries()

描述:

返回内部持有的当前显示series克隆,效果同return getoption().series

5、adddata(....)

参数:

1)、单组数据参数

11)、{number} seriesidx :表示给哪一条series添加数据,series脚标从0开始;

12)、{number | object} data;

13)、{boolean=} ishead ;

14)、{boolean=} datagrow;

15)、{string=} additiondata;

2)、多组数据参数

其实就是多个单组数据的形成的集合或者数组{array} params

描述:

动态数据接口

seriesidx 系列索引 

data 增加数据 

ishead 是否队头加入,默认,不指定或false时为队尾插入 

datagrow 是否增长数据队列长度,默认,不指定或false时移出目标数组对位数据 

additiondata 是否增加类目轴(饼图为图例)数据,附加操作同ishead和datagrow 

多组数据添加时参数为: 

params == [[seriesidx, data, ishead, datagrow, additiondata], [...]]

6、on(string eventname,function eventlistner)

描述:

事件绑定,支持事件有:refresh,restore,click,hover,data_changed,magic_type_changed,data_view_changed,data_zoom,data_range,legend_selected,map_selected

示例代码形如:

 

 
1.//echarts图表的click事件监听
2.mychart.on("click", function () {
3.        alert("你点击我了!");
4.});

 

7、un(string eventname,function eventlistner)

描述:

解除某个事件的绑定,示例代码形如:

 

 
1.mychart.un("click", function () {
2.             alert("悲剧,你注销我了!");
3.});

8、showloading(object loadingoption)

描述:

过渡控制(详见loadingoption),显示loading(读取中)代码片段形如:

 

 
01.//图表显示提示信息
02.mychart.showloading({
03.    text: "图表数据正在努力加载...",
04.    x: "center",
05.    y: "center",
06.    textstyle: {
07.        color:"red",
08.        fontsize:14
09.    },
10.    effect:"spin"
11.});

注意:

 

9、hideloading()

描述:

隐藏图表数据加载过度提示信息,示例代码:

 

 
1.mychart.hideloading();

 

10、getzrender()

描述:

获取当前图表所用zrender实例,可用于添加额外图形或进行深度定制,zrender接口详见zrender 示例代码如下所示:

 

 
1.nychart.getzrender();

 

11、getdataurl(string imgtype)

描述:

获取当前图表的base64图片dataurl,imgtype 图片类型,支持png|jpeg,默认为png

示例代码如下所示:

 

 
1.var imgurl = mychart.getdataurl("png");

12、getimage(string imgtype)

描述:

获取一个当前图表的img,imgtype 图片类型,支持png|jpeg,默认为png,示例代码片段:

 

 
1.//前端导出图表图片
2.var imgobj = mychart.getimage("jpeg");

 

主要是拿到一个图片对象,然后获取其outerhtml属性就是一个图表image的html完整标签,我们可以使用其直接显示在页面上。

13、resize()

描述:

echarts没有绑定resize事件,显示区域大小发生改变内部并不知道,

使用方可以根据自己的需求绑定关心的事件,主动调用resize达到区域更新的效果。

 

 
1.mychart.resize();

 

14、refresh()

描述:

刷新图表,图例选择、数据区域缩放,拖拽状态均保持。

 

 
1.mychart.refresh();

 

15、restore()

描述:

还原图表,各种状态均被清除,还原为最初展现时的状态。

16、clear()

描述:

清空绘画内容,清空后实例可用,因为并非释放示例的资源,释放资源我们需要dispose()

 

 
1.mychart.clear();

 

17、dispose()

描述:

释放图表实例,释放后实例不再可用。

 

 
1.mychart.dispose();

 

目前echarts图表的实例化主要包含当前十七个相关方法,后期不保证有补充的节奏,就目前来说,这十七个已经够用了的。

注意:

1、以上方法的使用前提都是需要获得echarts初始化对象过后才可以进行,否则会产生报错现象。

 

 

此文来源于:https://blog.csdn.net/uncle_long/article/details/80483175