图表Echarts的使用

Posted Hello World!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图表Echarts的使用相关的知识,希望对你有一定的参考价值。

  Echarts是一个纯javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。

  本文内容为讲解使用ECharts3.x版本绘制中国地图统计信息。

  基本步骤:

  1.下载echarts.min.js核心脚本库以及还要单独下载china.js中国地图脚本,页面中添加对脚本的引用。

    [说明:除了china.js中国地图脚本库外,还有各省份地图脚本,世界地图脚本word.js,按照自己需求来下]。

<!DOCTYPE html>
<html>
<header>
    <meta charset="utf-8">
    <script src="echarts.min.js"></script>   <!--echarts核心脚本库-->
    <script src="china.js"></script>         <!--中国地图脚本-->
</header>
</html>

 

2.在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器。

<body>
    <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
    <div id="main" style="width: 600px;height:400px;"></div>
</body>

 

3.然后就可以通过 echarts.init 方法初始化一个 echarts 实例并通过 setOption 方法生成一个中国地图,下面是完整代码。

 

  1 <!DOCTYPE html>
  2 <html>
  3 <header>
  4     <meta charset="utf-8">
  5     <script src="echarts.min.js"></script>   <!--echarts核心脚本库-->
  6     <script src="china.js"></script>         <!--中国地图脚本-->
  7 </header>
  8 <body>
  9     <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
 10     <div id="mainMap" style="width: 600px;height:400px;"></div>
 11 
 12     <script type="text/javascript">
 13         var myMap = echarts.init(document.getElementById(\'mainMap\'));  //初始化图表
 14         var option = {
 15             tooltip: {
 16                 trigger: \'item\'
 17             },
 18             legend: {      //图例: [\'第一季度销售量\', \'第二季度销售量\']
 19                 orient: \'vertical\',
 20                 x: \'left\',
 21                 itemGap: 1,
 22                 itemWidth: 20,
 23                 itemHeight: 12,
 24                 textStyle: {
 25                     fontSize: \'12px\',
 26                 },
 27                 data: [\'第一季度销售量\', \'第二季度销售量\'],   
 28             },
 29             dataRange: {  //图例范围      
 30                 x: \'left\',
 31                 y: \'bottom\',
 32                 itemGap: 1,
 33                 itemWidth: 20,
 34                 itemHeight: 12,
 35                 splitList: [
 36                     {start: 50},
 37                     {start: 41, end: 50},
 38                     {start: 31, end: 40},
 39                     {start: 21, end: 30, label: \'21 到 30(自定义label)\'},
 40                     {start: 10, end: 20, label: \'11 到 20(自定义特殊颜色)\', color: \'black\'},
 41                     {end: 10}
 42                 ],   
 43                 color: [\'#E0022B\', \'#E09107\', \'#A3E00B\'],
 44                 textStyle: {
 45                     fontSize: \'12px\',
 46                 },
 47             },
 48             series: [
 49                 {
 50                     name: \'第一季度销售量\',
 51                     type: \'map\',
 52                     mapType: \'china\',
 53                     roam: false,
 54                     itemStyle: {
 55                         normal: {
 56                             label: {
 57                                 show: false,   //是否显示省名称
 58                                 textStyle: {
 59                                     color: "rgb(249, 249, 249)"
 60                                 }
 61                             }
 62                         },
 63                         emphasis: { label: { show: true } }
 64                     },
 65                     data: [      //省份数据1
 66                             {name: \'北京\',value: 11 },
 67                             {name: \'天津\',value: 22 },
 68                             {name: \'四川\',value: 33 },
 69                             {name: \'青海\',value: 14 },
 70                             {name: \'新疆\',value: 3 },
 71                             {name: \'西藏\',value: 1 },
 72                             //...
 73                     ],  
 74                     zoom: 1.1,  //地图放大比例
 75                 },
 76                 {
 77                     name: \'第二季度销售量\',
 78                     type: \'map\',
 79                     mapType: \'china\',
 80                     roam: false,
 81                     itemStyle: {
 82                         normal: {
 83                             label: {
 84                                 show: false,   //是否显示省名称
 85                                 textStyle: {
 86                                     color: "rgb(249, 249, 249)"
 87                                 }
 88                             }
 89                         },
 90                         emphasis: { label: { show: true } }
 91                     },
 92                     data: [      //省份数据2
 93                             {name: \'北京\',value: 10 },
 94                             {name: \'天津\',value: 20 },
 95                             {name: \'四川\',value: 30 },
 96                             {name: \'青海\',value: 40 },
 97                             {name: \'新疆\',value: 32 },
 98                             {name: \'西藏\',value: 23 },
 99                             //...
100                     ],  
101                     zoom: 1.1,  //地图放大比例
102                 }
103             ], //地图省份数据
104         };   //end option
105         //点击省份跳转
106         myMap.on(\'click\', function (params) {
107             var name = params.name;
108             var value = params.value;
109             if (value > 0) {
110                 alert(name + \':\' + value);
111             }
112         });
113         myMap.setOption(option);
114     </script>
115 </body>
116 </html>

 

4.效果图如下:

5.补充

地图点击事件处理:

myMap.on(\'click\', function (params) {
             var name = params.name;
             var value = params.value;
             if (value > 0) {
                 alert(name + \':\' + value);   //如:"新疆:40"
             }
         });

地图主题theme:

在初始化图表的时候指定主题名称

var myMap = echarts.init(document.getElementById(\'mainMap\'));  //初始化图表

改为

var myMap = echarts.init(document.getElementById(\'mainMap\'), theme);  //初始化图表,theme为主题名称。

可从官网下载主题:http://echarts.baidu.com/download-theme.html

主题使用示例:

<script src="echarts.min.js"></script>
<!-- 引入 vintage 主题 -->
<script src="theme/vintage.js"></script>
<script>
// 第二个参数可以指定前面引入的主题
var chart = echarts.init(document.getElementById(\'main\'), \'vintage\');
chart.setOption({
    ...
});
</script>

 

官方参考资料:

1.JS API方法详解: http://echarts.baidu.com/api.html

2.图表配置项参考: http://echarts.baidu.com/option.html

3.地图脚本库下载: http://echarts.baidu.com/download-map.html     

4.主题脚本库下载: http://echarts.baidu.com/download-theme.html

 

以上是关于图表Echarts的使用的主要内容,如果未能解决你的问题,请参考以下文章

vue2+echarts:使用后台传输的json数据去动态渲染echarts图表

Qt图表eCharts(想一想,我的程序需要使用JS来实现功能呢?)

ECharts常用图表 地图

使用Echarts的时候ajax第二次请求的时候,图表会等待请求完成后才刷新出来

eCharts 多个图表自适应窗口大小

echarts动态改变图表的大小