Echarts常用功能总结


之前做过柱形图和折线图,被前任引入的旧版本文件坑不少,再次做的时候都有些遗忘,趁项目不急的时候总结一下~

一、非模块化——单文件引入:

1、首先毫无疑问通过script标签引入echarts文件,官网http://echarts.baidu.com/echarts2/index.html可以下载

2、通过官网的例子结合实际补充说明

 1 // srcipt标签式引入
 2 var myChart = echarts.init(document.getElementById('main'));
 3 
 4 // 过渡---------------------
 5 myChart.showLoading({
 6     text: '正在努力的读取数据中...',    //loading话术
 7 });
 8 
 9 // ajax getting data...............
10 
11 // ajax callback
12 myChart.hideLoading();
13 
14 // 图表使用-------------------
15 var option = {
16     legend: {                                   // 图例配置
17         padding: 5,                             // 图例内边距,单位px,默认上下左右内边距为5
18         itemGap: 10,                            // Legend各个item之间的间隔,横向布局时为水平间隔,纵向布局时为纵向间隔
19         data: ['ios', 'android']
20     },
21     tooltip: {                                  // 气泡提示配置
22         trigger: 'item',                        // 触发类型,默认数据触发,可选为:'axis'
23     },
24     xAxis: [                                    // 直角坐标系中横轴数组
25         {
26             type: 'category',                   // 坐标轴类型,横轴默认为类目轴,数值轴则参考yAxis说明
27             data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
28         }
29     ],
30     yAxis: [                                    // 直角坐标系中纵轴数组
31         {
32             type: 'value',                      // 坐标轴类型,纵轴默认为数值轴,类目轴则参考xAxis说明
33             boundaryGap: [0.1, 0.1],            // 坐标轴两端空白策略,数组内数值代表百分比
34             splitNumber: 4                      // 数值轴用,分割段数,默认为5
35         }
36     ],
37     series: [
38         {
39             name: 'ios',                        // 系列名称
40             type: 'line',                       // 图表类型,折线图line、散点图scatter、柱状图bar、饼图pie、雷达图radar
41             data: [112, 23, 45, 56, 233, 343, 454, 89, 343, 123, 45, 123]
42         },
43         {
44             name: 'android',                    // 系列名称
45             type: 'line',                       // 图表类型,折线图line、散点图scatter、柱状图bar、饼图pie、雷达图radar
46             data: [45, 123, 145, 526, 233, 343, 44, 829, 33, 123, 45, 13]
47         }
48     ]
49 };
50 myChart.setOption(option);
51 
52 ...
53 
54 // 增加些数据------------------
55 option.legend.data.push('win');
56 option.series.push({
57         name: 'win',                            // 系列名称
58         type: 'line',                           // 图表类型,折线图line、散点图scatter、柱状图bar、饼图pie、雷达图radar
59         data: [112, 23, 45, 56, 233, 343, 454, 89, 343, 123, 45, 123]
60 });
61 myChart.setOption(option);
62 
63 ...
64 
65 // 图表清空-------------------
66 myChart.clear();
67 
68 // 图表释放-------------------
69 myChart.dispose();

legend:图例,每个图表最多仅有一个图例,下图中顶部中间

toolbox:工具箱,每个图表最多仅有一个工具箱,下图中顶部最右边

xAxis:横轴数组

yAxis:纵轴数组 axisLine是数组中通用属性  [{axisLine:{ *** }}]

 3、API说明

  http://echarts.baidu.com/echarts2/doc/doc.html#AxisAxisline

二、模块化包引入:

通过require引入,这里说一下require的使用背景

实现JS文件文件的异步加载,避免网页失去响应
管理模块之间的依赖性,便于代码的编写和维护

 

 

 

引入require考虑到加载时长,可以放到网页底部,也可以用async属性,IE不支持,只支持defer,如下写就可以(data-main指定网页程序主模块,若主模块依赖于其他模块,需要使用AMD规范定义的的defer()函数)

<script src="js/require.js" defer async="true"  data-main="js/main" ></script>
// main.js
require(['moduleA', 'moduleB', 'moduleC'], function (moduleA, moduleB, moduleC){

  // some code here

});  

 

下面是echarts官网上的引入的例子:

//from echarts example
require.config({
    packages: [
        {
            name: 'echarts',
            location: '../../src',
            main: 'echarts'
        },
        {
            name: 'zrender',
            location: '../../../zrender/src', // zrender与echarts在同一级目录
            main: 'zrender'
        }
    ]
});

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM