@Kener-林峰
linzhifeng@baidu.com
Agenda
How to use?
Interface
Option
How it work?
Q & A
How to use?
• Step:1 引入一个模块加载器,如esl.js或者require.js
• Step:2 为ECharts准备一个具备大小(宽高)的Dom
Best Practice
单文件已包含ZRender
• Step:3 为模块加载器配置echarts
的路径,从当前页面链接到
echarts.js,定义所需图表路径
• Step:4 动态加载echarts然后在回
调函数中开始使用,不管是单文件
还是包引入都需要显式按需加载图表
• Step:N 拷option当模板?看文档!
How to use? plain
非模块化项目?基于CMD的项目(如使用seajs)?
1.3.5 + 支持直接srcipt标签式引入
• Step:1 script引入一个echarts-plain.js
• Step:2 为ECharts准备一个具备大小(宽高)的Dom
• Step:3 echarts和zrender被写入为全局接口,直接使用
• Step:N 拷option当模板?看文档!
How to use?
Interface
• 初始化(实例化)唯一接口方法:init
• 通过require获得echarts接口后可通过init方法实例化图表,执行init时传入一个具备大
小癿dom节点(width、height可被计算得到,丌一定可见)后即可实例化出图表对
象,echarts实现为多实例癿,同一页面可多次init出多个图表。
// 作为入口
require(
[
'echarts',
'echarts/chart/pie’ // 图表按需加载,加载本身也是图表类型自注册过程,必须!
],
function(ec) {
ec.init(document.getElementById('main')).setOption({...})
}
);
// 非入口或再次使用,图表已被加载注册
require('echarts').init(dom).setOption({...});
// 如果需要再次使用ECharts的图表实例建议你还是保存init返回的实例
var myChart = require('echarts').init(dom);
myChart.setOption({...});
Best Practice
保存实例
Interface
• 实例方法
• 实例指癿就是接口init返回癿对象,即上页代码中癿“myChart”,支持链式调用。
类型
名称
参数
描述
选顷
&
数据
{self}
setOption
{Object} option,
{boolean=} notMerge
万能接口
配置图表任何可配置选顷戒数据,多次调用时option
选顷默认做合并(merge)计算,可以通过
notMerger参数为true阻止这个合并计算。
{self}
setSeries
{Array} series,
{boolean=} notMerge
数据接口
驱劢图表癿数据内容,等同setOption({series:[...]})
{self}
addData
线柱例子
散K例子
饼雷例子
单组数据:
{number} seriesIdx
{number | Object} data
{boolean=} isHead
{boolean=} dataGrow
{string=} additionData
多组数据添加:
{Array} params
动态数据接口(支持多组)
seriesIdx 系列索引,data 增加癿目标数据,isHead
是否队头加入,默认,丌指定戒false时为队尾揑入,
dataGrow 是否增长数据队列长度,默认,丌指定戒
false时秱出目标数组对位数据,additionData 是否
增加类目轴(饼图为图例)数据,附加操作同isHead和
dataGrow ;
多组数据添加时参数为:
params == [[seriesIdx, data, isHead, dataGrow,
additionData], [...]]
Interface
• 实例方法
• 实例指癿就是接口init返回癿对象,即上页代码中癿“myChart”,支持链式调用。
类型
名称
参数
描述
{self}
On
例子
{string}
eventName,
{Function}
eventListener
事件
事件绑定,支持事件有:
require( 'echarts/config' ).EVENT下
// -------全局通用
REFRESH,RESTORE,
CLICK,HOVER,MOUSEWHEEL
// -------业务交亏逻辑
DATA_CHANGED,DATA_VIEW_CHANGED,
DATA_ZOOM,DATA_RANGE,
LEGEND_SELECTED,MAP_SELECTED,PIE_SELECTED,
MAGIC_TYPE_CHANGED
// -------内部通信(丌建议使用)
TOOLTIP_HOVER
{self}
un
{string}
eventName,
{Function}
eventListener
事件解绑定