初始化:

通过require获得echarts接口(或命名空间)后可实例化图表,echarts接口仅有一个方法init,执行init时传入一个具备大小的DOM节点后即可实例化出图标对象,图表库实现为多实例的,同一页面可在多个DOM上init出多个图表,同一个DOM上多次init将自动释放已有实例。

init方法:

名称

参数

描述

{ECharts} init

{dom} dom,

{string | Object =} theme

初始化接口,返回ECharts实例,其中dom为图表所在节点,theme为可选的主题,内置主题('macarons', 'infographic')直接传入名称,自定义扩展主题可传入主题对象。如:

var myCharts = echarts.init(document.getElementById('main'), 'macarons');                             


引入ECharts后的初始化代码如下:

//作为入口
require([
'echarts',
'echarts/chart/pie'
]
function (ec){
var myChart=ec.init(document.getElementById('main'));
myChart.setOption({........});
}
);
//---------------------------------------------------
//非入口或再次使用,图表已被加载注册
require('echarts').init(dom).setOption({......});
myChart.setOption({........});
//如果需要再再一次使用ECharts的图表实例,建议还是保存init返回的图表实例
var myChart=require('echarts').init(dom);
//var myChart=require('echarts').init(document.getElementById('main'));
mychart.setOption({......});

/******************不习惯模块化的话,把echarts加载后保存起来作为命名空间使用***************/
var echarts;
require(['echarts'],function (ec){
echarts=ec;
});

实例方法:

实例指的就是接口init()返回的对象,即myChart,非get接口均返回自身self,支持链式调用。


名称

参数

描述

{self} setOption

{Object} option,

{boolean=} notMerge

万能接口,配置图表实例任何可配置选项(详见option),多次调用时option选项默认是合并(merge)的,merge的设计可以让setOption很方便的成为更新任何属性的万能方法,比如你仅需要改title文字,则仅需要:

    setOption({title : {text : '新标题'}});

如果不需要,可以通过notMerger参数为true阻止与上次option的合并,如多次setOption间数据改变、长度不一致等的场景。


2.0.0起支持timeline组件,option中包含timeline(详见timeline)时每一个独立的option应该放置到命名为options的数组内,如

myCharts.setOption({ timeline : {...}, options : [ { // option1 title : {...}, series : [...] }, {...}, // option2 ... ]});

{Object} getOption

{void}

返回内部持有的当前显示option克隆(拷贝)。

{self} setSeries

{Array} series,

{boolean=} notMerge

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

{Object} getSeries

{void}

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

{self} addData

单组数据:

{number} seriesIdx

{number | Object} data

{boolean=} isHead

{boolean=} dataGrow

{string=} additionData

多组数据添加:

{Array} params

动态数据接口,try this (Line & Bar) » try this (Scatter & K) » try this (Pie & Radar) »

seriesIdx 系列索引

data 增加数据

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

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

additionData 是否增加类目轴(饼图为图例)数据,附加操作同isHead和dataGrow

多组数据添加时参数为:

params == [[seriesIdx, data, isHead, dataGrow, additionData], [...]]

{self} addMarkPoint

{number} seriesIdx

{Object} markData

新增标注接口,其中

seriesIdx 系列索引

markData [标注]对象,同series.markPoint,支持多个

{self} addMarkLine

{number} seriesIdx

{Object} markData

新增标线接口,其中

seriesIdx 系列索引

markData [标线]对象,同series.markLine,支持多个

{self} delMarkPoint

{number} seriesIdx

{string} markName

删除单个标注接口,其中

seriesIdx 系列索引

markName [标注]名称

{self} delMarkLine

{number} seriesIdx

{string} markName

删除单个标线接口,其中

seriesIdx 系列索引

markName [标线]名称,已构建的标线名称默认为markLine数据中起始点的name,如果同时终点也有name属性,如地图标线,则标线名称等于“nameStart > nameEnd”,如markLine的data为

[{name:'北京', value:100}, {name:'上海'}]

则删除该标线时传入的markName为 "北京 > 上海"

{self} on

{string} eventName,

{Function} eventListener

事件绑定,事件命名统一挂载到require('echarts/config').EVENT(非模块化为echarts.config.EVENT)命名空间下,建议使用此命名空间作为事件名引用,当前版本支持事件有:

-----------------------基础事件-----------------------

REFRESH(刷新),

RESTORE(还原),

RESIZE(显示空间变化),

CLICK(点击),

DBLCLICK(双击),

HOVER(悬浮),

MOUSEOUT(鼠标离开数据图形),

---------------------交互逻辑事件--------------------

DATA_CHANGED(数据修改,如拖拽重计算),

DATA_VIEW_CHANGED(数据视图修改),

MAGIC_TYPE_CHANGED(动态类型切换),

TIMELINE_CHANGED(时间轴变化),

DATA_ZOOM(数据区域缩放),

DATA_RANGE(值域漫游),

DATA_RANGE_SELECTED(值域开关选择),

DATA_RANGE_HOVERLINK(值域漫游hover),

LEGEND_SELECTED(图例开关选择),

LEGEND_HOVERLINK(图例hover),

MAP_ROAM(地图漫游),

MAP_SELECTED(地图选择),

PIE_SELECTED(饼图选择),

FORCE_LAYOUT_END(力导向布局结束)

事件调试 »

{self} un

{string} eventName,

{Function} eventListener

事件解绑定

{self} setTheme

{string | Object} theme

设置主题,内置主题('macarons', 'infographic')直接传入名称,自定义扩展主题可传入主题对象

{self} connect

{ECharts | Array <ECharts>} connectTarget

多图联动,传入联动目标为EChart实例,支持数组。多图联动支持直角系下tooltip联动,保存图片的自动拼接,同时支持的联动事件有:

REFRESH,RESTORE,MAGIC_TYPE_CHANGED

DATA_ZOOM,DATA_RANGE,LEGEND_SELECTED

多图联动 »

{self} disConnect

{ECharts | Array <ECharts>} connectTarget

解除已连结的多图联动

{self} showLoading

{Object} loadingOption

过渡控制(详见loadingOption),显示loading(读取中) try this »

{self} hideLoading

{void}

过渡控制,隐藏loading(读取中)

{ZRender} getZrender

{void}

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

{string} getDataURL

{string=} imgType

获取当前图表的Base64图片dataURL,IE8-不支持,imgType 图片类型,支持png|jpeg,默认为png

{Dom} getImage

{string=} imgType

获取一个当前图表的img,imgType 图片类型,支持png|jpeg,默认为png

{self} resize

{void}

ECharts没有绑定resize事件,显示区域大小发生改变内部并不知道,使用方可以根据自己的需求绑定关心的事件,主动调用resize达到自适应的效果,常见如window.onresize = myChart.resize。

{self} refresh

{void}

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

{self} restore

{void}

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

{self} clear

{void}

清空绘画内容,清空后实例可用

{void} dispose

{void}

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


选项


名称

描述

{color} backgroundColor

全图默认背景,(详见backgroundColor),支持rgba,默认为无,透明

{Array} color

数值系列的颜色列表,(详见color),可配数组,eg:['#87cefa', 'rgba(123,123,123,0.5)','...'],当系列数量个数比颜色列表长度大时将循环选取

{boolean} renderAsImage

非IE8-支持渲染为图片,(详见renderAsImage

{boolean} calculable

是否启用拖拽重计算特性,默认关闭,(详见calculable,相关的还有 calculableColor calculableHolderColor nameConnector valueConnector

{boolean} animation

是否开启动画,默认开启,(详见 animation,相关的还有 addDataAnimation animationThreshold animationDuration animationDurationUpdate animationEasing

{Object} timeline

时间轴(详见timeline),每个图表最多仅有一个时间轴控件

{Object} title

标题(详见title),每个图表最多仅有一个标题控件

{Object} toolbox

工具箱(详见toolbox),每个图表最多仅有一个工具箱

{Object} tooltip

提示框(详见tooltip),鼠标悬浮交互时的信息提示

{Object} legend

图例(详见legend),每个图表最多仅有一个图例,混搭图表共享

{Object} dataRange

值域选择(详见dataRange),值域范围

{Object} dataZoom

数据区域缩放(详见dataZoom),数据展现范围选择

{Object} roamController

漫游缩放组件(详见roamController),搭配地图使用

{Object} grid

直角坐标系内绘图网格(详见grid

{Array | Object} xAxis

直角坐标系中横轴数组(详见xAxis),数组中每一项代表一条横轴坐标轴,标准(1.0)中规定最多同时存在2条横轴

{Array | Object} yAxis

直角坐标系中纵轴数组(详见yAxis),数组中每一项代表一条纵轴坐标轴,标准(1.0)中规定最多同时存在2条纵轴

{Array} series

驱动图表生成的数据内容(详见series),数组中每一项代表一个系列的特殊选项及数据