标签式单文件引入
自1.3.5开始,ECharts提供标签式引入。如果你的项目本身并不是基于模块化开发的,或者是基于 CMD规范(如使用的是seajs),那么引入基于AMD模块化的echarts可能并不方便,我们建议你采用srcipt标签式引入,忘掉 require。Srcipt标签引入echarts后将可以直接使用两个全局的命名空间:echarts,zrender,可参考ECharts标签式引入,需要注意的是excanvas依赖body标签插入Canvas节点去判断Canvas的支持,如果你把引用echarts的script标签放置head内在IE8-的浏览器中会出现报错,解决的办法就是把标签移动到body内(后)。
标签式引入环境中,常用模块的引用可通过命名空间直取,同模块化下的路径结构,如:
echarts.config = require('echarts/config'), zrender.tool.color = require('zrender/tool/color')
- //from echarts example
- <body>
- <div id="main" style="height:400px;"></div>
- ...
- <script src="example/www2/js/dist/echarts-all.js"></script>
- <script>
- var myChart = echarts.init(document.getElementById('main'));
- var option = {
- ...
- }
- myChart.setOption(option);
- </script>
- </body>
可以直接引入的单文件如下:
- dist/echarts-all.js : 经过压缩,全图表,包含world,china以及34个省市级地图数据
- source/echarts-all.js : 未压缩,全图表,包含world,china以及34个省市级地图数据,可用于调试
自定义构建echarts单文件
详见 echarts-optimizer 安装使用说明:README.md
初始化
通过require获得echarts接口(或者命名空间)后可实例化图表,echarts接口仅有一个 方法init,执行init时传入一个具备大小的dom节点(width、height可被计算得到即可,不一定可见)后即可实例化出图表对象,图表库实 现为多实例的,同一页面可在多个dom上init出多个图表,同一个dom上多次init将自动释放已有实例(1.4.0+)。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({...});
- // 如果需要再次使用ECharts的图表实例,建议你还是保存init返回的图表实例吧
- var myChart = require('echarts').init(dom);
- myChart.setOption({...});
熟悉模块化的你可以跳过了下面代码了
- // 不习惯模块化的你当然可以
- var echarts;
- require(['echarts'], function (ec){
- echarts = ec;
- });
- // 是的,把echarts加载后保存起来作为命名空间使用