ECharts学习总结(三):ECharts图表对象的初始化(init)详解以及注意事项

一、相关js文件的引入

这里我们采用标签式引入文件的方式,我们引入两个js文件,一个是esl.js文件和一个echarts.js。

<script src="js/esl.js" type="text/javascript"></script>
<script src="js/echarts.js" type="text/javascript"></script>

二、ECharts对象的初始化

通过文件esl.js内封装好的require获得echarts接口后可实例化图表,echarts接口仅有一个方法init,执行init时传入一个具备大小(如果没有指定容器的大小将会按照0大小来处理即无法看到图表)的dom节点(width、height可被计算得到即可,不一定可见)后即可实例化出图表对象,图表库实现为多实例的,同一页面可多次init出多个图表。图表实例可用方法见方法,引入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加载后保存起来作为命名空间使用

//-----------
//接下来我们就可以进行图表的init操作了
var myChart = ECharts.init(dom);

myChart.setOption({....});
复制代码

init方法说明如下:

 

名称参数描述
{ECharts} init {dom} dom,
{string | Object =} theme
初始化接口,返回ECharts实例,其中dom为图表所在节点,theme为可选的主题,内置主题('macarons', 'infographic')直接传入名称,自定义扩展主题可传入主题对象。如:
var myCharts = echarts.init(document.getElementById('main'), 'macarons');

 

注意事项:

1、再实例化之前请确保相关的js文件已经引入且路径正确;

2、在执行图表对象渲染方法init(dom)的时候,记住这里的dom是一个页面容器元素的对象,请确保这个元素对象是存在的,否则执行了init(dom)方法时会报出尚未定义的错误;

3、dom元素一定要指定其大小,关于元素的大小我么可以通过css进行设置:

<div id="main" style="width:400px;height:300px;"></div>

也可以采用动态的javascript代码设置其大小属性值。

posted @   人生设计师  阅读(76263)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示