深入浅出ECharts系列(一)

  1. 目标

本次教程的目标是实现“微博签到点亮中国”散点图,实现结果如图:

2. 准备工作

a)         首先下载ECharts插件,你可以根据自己的实际需求选择你想要下载的版本,也可以自己定制相应功能的版本,下面附上插件的下载地址:

http://echarts.baidu.com/download.html

我们下载完整版为大家进行演示。

b)         因为本次教程涉及地图,所以需要引入地图资源,下面附上中国地图JS地址:

http://echarts.baidu.com/gallery/vendors/echarts/map/js/china.js

我们选择中国地图。

c)         下载微博签到数据,用于数据展示,下面附上下载地址:

http://echarts.baidu.com/gallery/data/asset/data/weibo.json

将数据保存为weibo.json即可。

3. 正式开始

首先,我新建了一个MVC4项目,将下载的文件放到对应的位置:

然后新建一个控制器和对应的视图,添加对这些文件的引用,同时引用最新版的JQuery插件,然后新增一个id为main的div做为地图的容器来展现地图。如图:

接着开始写JS脚本来实现我们想要的效果:

通过 echarts.init方法初始化一个 echarts实例并通过 setOption方法生成散点图

<script>

//初始化

var myChart = echarts.init(document.getElementById('main'));

myChart.showLoading();//加载数据前显示的动画效果

//读取微博JSON数据

$.getJSON('/Json/weibo.json', function (weiboData) {

myChart.hideLoading();//加载数据完成后隐藏动画

//定义一个Data方法将读取的微博数据根据经纬度组合成新的JSON,用于显示

Data = function (index) {

data = weiboData[index];

var px = data[0] / 1000;

var py = data[1] / 1000;

var res = [[px, py]];

for (var i = 2; i < data.length; i += 2) {

var dx = data[i] / 1000;

var dy = data[i + 1] / 1000;

var x = px + dx;

var y = py + dy;

res.push([x, y, 1]);

px = x;

py = y;

}

return res;

};

//设置参数

myChart.setOption(

option = {

backgroundColor: '#404a59',

title: {         //标题组件

text: '微博签到数据点亮中国',

subtext: 'From ThinkGIS',

sublink: 'http://www.thinkgis.cn/public/sina',

left: 'center',

top: 'top',

textStyle: {

color: '#fff'

}

},

legend: {        //图例组件

left: 'left',

data: ['强', '中', '弱'],

textStyle: {

color: '#ccc'

}

},

geo: {           //地理坐标系组件

name: '强',

type: 'scatter',

map: 'china',

label: {

emphasis: {

show: false

}

},

itemStyle: {

normal: {

areaColor: '#323c48',

borderColor: '#111'

},

emphasis: {

areaColor: '#2a333d'

}

}

},

series: [{              //系列列表

name: '弱',

type: 'scatter',

coordinateSystem: 'geo',

symbolSize: 1,

large: true,

itemStyle: {

normal: {

shadowBlur: 2,

shadowColor: 'rgba(37, 140, 249, 0.8)',

color: 'rgba(37, 140, 249, 0.8)'

}

},

data: Data(0)

}, {

name: '中',

type: 'scatter',

coordinateSystem: 'geo',

symbolSize: 1,

large: true,

itemStyle: {

normal: {

shadowBlur: 2,

shadowColor: 'rgba(14, 241, 242, 0.8)',

color: 'rgba(14, 241, 242, 0.8)'

}

},

data: Data(1)

}, {

name: '强',

type: 'scatter',

coordinateSystem: 'geo',

symbolSize: 1,

large: true,

itemStyle: {

normal: {

shadowBlur: 2,

shadowColor: 'rgba(255, 255, 255, 0.8)',

color: 'rgba(255, 255, 255, 0.8)'

}

},

data: Data(2)

}]

});

});

</script>

具体参数含义可参考,不再赘述:

http://echarts.baidu.com/option.html#title

4. 最终效果

更多精彩文章请关注 =》 我爱学框架

深入浅出ECharts系列(一)地图+散点图的更多相关文章

  1. 深入浅出ECharts系列 (二) 折线图

    深入浅出ECharts系列(二) 目标 本次教程的目标是实现“折线图堆叠”折线,实现结果如图: 2. 准备工作 a)         首先下载ECharts插件,你可以根据自己的实际需求选择你想要下载 ...

  2. 在vue中调用echarts中的地图散点图~

    首先!当然是在vue中引入echarts! 命令行  npm install echarts --save 在main.js文件中里引入        import echarts from 'ech ...

  3. ECharts 实现地图散点图上(转载)

    转载来源:https://efe.baidu.com/blog/echarts-map-tutorial/ ECharts 实现地图散点图(上)  小红  2016-04-28  ECharts, 教 ...

  4. Echarts数据可视化series-scatter散点图,开发全解+完美注释

    全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...

  5. 深入浅出Mybatis系列(九)---强大的动态SQL

    上篇文章<深入浅出Mybatis系列(八)---mapper映射文件配置之select.resultMap>简单介绍了mybatis的查询,至此,CRUD都已讲完.本文将介绍mybatis ...

  6. 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap

    上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之insert.update.delete>介绍了insert.update.delete的用法,本篇将介绍select ...

  7. 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete

    上篇文章<深入浅出Mybatis系列(六)---objectFactory.plugins.mappers简介与配置>简单地给mybatis的配置画上了一个句号.那么从本篇文章开始,将会介 ...

  8. 深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置

    上篇文章<深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)>简单看了一下TypeHandler, 本次将结束对于mybatis的配置文件的学习 ...

  9. 深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)>为大家介绍了mybatis中别名的使用,以及其源码.本篇将为大家介绍TypeH ...

随机推荐

  1. 《深入Java虚拟机学习笔记》- 第13章 逻辑运算

    <深入Java虚拟机学习笔记>- 第13章 浮点运算

  2. DDraw绘图

    微软已经提供了GDI+绘图方式,但是GDI+绘图较慢,另外微软提供了效率更高的DirectDraw绘图方式.DirectDraw提供硬件加速功能. 首先需要确保电脑上的Ddraw硬件加速功能已经打开, ...

  3. Jmeter初步使用--Jmeter安装与使用

    由于jmeter是开源的性能测试工具,但是使用的人较少,网络上相关资料不全面,需要自己去揣摩,因此,小编就把自己在用Jmeter时的一些小结总结出来.而loadrunner工具是商业软件,网上通常都是 ...

  4. selenium在chrome上运行报 Element is not clickable at point (1096, 26)

    Firefox上正常运行的脚本在chrome上提示Element is not clickable at point (1096, 26).分析原因,首先肯定不是因为页面元素不存在而无法点击.也不是要 ...

  5. REST API TESTING

    在敏捷开发过程中 每隔两周就是一个sprint,,, 在上个sprint中,任务就是REST API TESTING 因为以前没做过API 测试,不懂,然后经过询问查找 终于知道,需要发送请求,然后获 ...

  6. 平面上画n条直线,最多能将平面分成多少部分?

    转自:http://blog.csdn.net/cywosp/article/details/6724522 在一个平面上画1999条直线,最多能将这一平面划分成多少个部分? 没有直线时有一个空间:( ...

  7. 2015北京网络赛B题 Mission Impossible 6

    借用大牛的一张图片:模拟 #include<cstdio> #include<cmath> #include<cstring> #include<algori ...

  8. 8.3 MPI

    MPI 模型 如图MPI的各个运算节点是分布式的.每一个节点可以视为是一个“Thread”,但这里的不同之处在于这些节点没有所谓的共享内存,或者说Global Memory.所以,在后面也会看到,一般 ...

  9. hbase0.96与hive0.12整合高可靠文档及问题总结

    本文链接:http://www.aboutyun.com/thread-7881-1-1.html 问题导读:1.hive安装是否需要安装mysql?2.hive是否分为客户端和服务器端?3.hive ...

  10. 解决dwr报错【 Error: java.lang.SecurityException: No class by name: service】

    打开包含dwr的网页时后台报错: 警告: Names of known classes are: __System DwrQueryService 十二月 11, 2015 10:24:44 上午 o ...