初始化:
通过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({ |
{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),数组中每一项代表一个系列的特殊选项及数据 |