标签:20 dom 标签 require 图表 init echarts
标签式单文件引入
自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加载后保存起来作为命名空间使用
标签:20,dom,标签,require,图表,init,echarts 来源: https://www.cnblogs.com/stdxxd/p/15881508.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。