zoukankan      html  css  js  c++  java
  • ECharts入门

      初学者可能会被ECharts那个带你入门的那2个示例弄晕,这里来一个个解释:

      1、AMD规范的加载器——esl.js,这是什么?

      答:关于AMD规范可以参考阮一峰的这篇文章Javascript模块化编程(二):AMD规范 简单来说,AMD规范就是异步方式加载模块的一种方式,避免因为模块加载过慢而导致浏览器“假死”。

      

      2、我们先来看一下echart的大概的包: 

    • echarts.js : 经过压缩,包含除地图外的全部图表
    • echarts-original.js : 未压缩,可用于调试,包含除地图外的全部图表
    • echarts-map.js : 经过压缩,全图表,包含world,china以及34个省市级地图数据
    • echarts-original-map.js : 未压缩,可用于调试,全图表,包含world,china以及34个省市级地图数据

       看得出,这种分类非常有意义。

      3、echarts更规范的一点,那就是模块化加载,需要哪个部分就是用哪个部分。

      关于Echarts的那个入门图表,我想很多新手跟我一样的迷惑,require和require.config这个两个公共方法到底什么来的?

      答:AMD规范的加载器——esl.js的公共方法。(如有错误,请指正。)

      

      4、require.config的作用是什么?

      答:为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需的图表路径。一切尽在echarts-2.0.4文件夹下的src文件夹中。

      5、解释一下require方法?

      答:require方法有2个参数。

      第一个参数为一个数组,数组元素是需要加载的echarts模块,需要哪个就加载哪个。(经本人测试,这个数组传入一个空数组都是可以的 !- -)莫非,传入不正确,会加载全部文件到内存,传入正确就加载部分模块到内存?求大神解答!

      第二个参数为一个带一个参数的方法:function (ec){}, 这个ec对象就是echarts对象了。

      OK,基本解释完了。可能初学者看了Eharts入门实例还是不太理解那Echarts3种导入方式的用法。(入门示例只有2种——标签式单文件引入和模块化单文件引入)

      因为入门实例里,js文件指向的是百度服务器上的资源,而我们一般开发,js资源都是放在本地的。

      

      6、来看一下,本地创建3种Echarts导入的例子,下面是那3个示例文件的源码(官网Demo粗略修改而成):

      (1)、标签式单文件引入.html:  

     View Code

       需要注意的是,可以直接引入的单文件只有:

    • echarts-plain.js : 经过压缩,包含除地图外的全部图表
    • echarts-plain-original.js : 未压缩,可用于调试,包含除地图外的全部图表
    • echarts-plain-map.js : 经过压缩,全图表,包含world,china以及34个省市级地图数据
    • echarts-plain-original-map.js : 未压缩,可用于调试,全图表,包含world,china以及34个省市级地图数据

      而除了这些带“plain”字眼的库,其他库都是含echarts这个变量的。导入其他库,会出现问题:echarts未定义。

      (2)、模块化包引入.html,这个就需要用到2个src文件。

    复制代码
    <!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <title>ECharts</title>
        <!--从当前页面,引入模块加载器esl.js-->
        <script src="js/esl.js"></script>
    </head>
    <body>
        <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
        <div id="main" style="height:400px"></div>
        <script type="text/javascript">
            // 为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需的图表路径
            require.config({
                packages: [
                    {
                        name: 'echarts',
                        location: 'js/src',      
                        main: 'echarts'
                    },
                    {
                        name: 'zrender',
                        location: 'js/zrender/src', 
                        main: 'zrender'
                    }
                ]
            });
            
            // 使用
            require(
                [
                ],
                function (ec) {
                    // 基于准备好的dom,初始化echarts图表
                    var myChart = ec.init(document.getElementById('main')); 
                    
                    var option = {
                        tooltip: {
                            show: true
                        },
                        legend: {
                            data:['销量']
                        },
                        xAxis : [
                            {
                                type : 'category',
                                data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
                            }
                        ],
                        yAxis : [
                            {
                                type : 'value'
                            }
                        ],
                        series : [
                            {
                                "name":"销量",
                                "type":"bar",
                                "data":[5, 20, 40, 10, 10, 20]
                            }
                        ]
                    };
            
                    // 为echarts对象加载数据 
                    myChart.setOption(option); 
                }
            );
        </script>
    </body>
    复制代码

      (3)、模块化单文件引入.html

     View Code

      2、如果上面的还有不明白的,参考一下我的本地目录:

      

      js中有如下的文件:

      

      其中,src是echarts-2.0.4文件夹下的src文件夹,zrender里面也有一个src文件夹,是zrender-2.0.4文件夹下面的src文件夹。

  • 相关阅读:
    F#+for+Scientists8OPTIMIZATI0N
    F#+for+Scientists9LIBRARIES
    F# 基础语法—关键字和结构[z]
    Matrix and linear algebra in F#, Part I: the F# Matrix type[z]
    Matrix and linear algebra in F#, Part IV: profile your program, find the bottleneck and speed it up: using matrix multiplication as an example[z]
    计算机程序的构造和解释 目录
    使用Jt2Go控件显示3D模型
    F#+for+Scientists3DATA STRUCTURES
    MATLAB 7的安装
    入境问俗,入门问禁
  • 原文地址:https://www.cnblogs.com/HeXiaoZhou/p/9364574.html
Copyright © 2011-2022 走看看