深入浅出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. codeforces 671C Ultimate Weirdness of an Array 线段树+构造

    题解上说的很清楚了,我照着写的,表示膜拜题解 然后时间复杂度我觉得应该是O(nlogn),虽然常数略大,预处理和倒着扫,都是O(nlogn) #include <stdio.h> #inc ...

  2. 理解public,protected 以及 private

    经常看到在类中看到public,protected,private以及它们在继承中表示的一些访问范围,很容易搞糊涂.我们首先要明白下面几点. 1.类的一个特征就是封装,public和private作用 ...

  3. opencv2.4.4 背景减除算法收集

    算法集合:https://code.google.com/p/bgslibrary/ 测试:AdaptiveBackgroundLearning算法 #include <iostream> ...

  4. [娱乐]GameMaker绘制参数方程的图像

    今天,我翻了旧物,硬着头皮看了这源码.突然恍然大悟,这岂不就是当年学的参数方程! 目前,最早开始教授参数方程实在高三时,并作为一门选修课程,简化了求解圆锥曲线方程的难度,在高考中也很容易拿分,考试过后 ...

  5. bzoj 1095 [ZJOI2007]Hide 捉迷藏(括号序列+线段树)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1095 [题意] 给定一棵树,树上颜色或白或黑而且可以更改,多个询问求最远黑点之间的距离 ...

  6. 深入理解Linux的系统调用【转】

    一. 什么是系统调用 在Linux的世界里,我们经常会遇到系统调用这一术语,所谓系统调用,就是内核提供的.功能十分强大的一系列的函数.这些系统调用是在内核中实现的,再通过一定的方式把系统调用给用户,一 ...

  7. leetcode@ [54/59] Spiral Matrix & Spiral Matrix II

    https://leetcode.com/problems/spiral-matrix/ Given a matrix of m x n elements (m rows, n columns), r ...

  8. Nine simple steps to enable X.509 certificates on WCF- 摘自网络

    Table of contents Introduction and goal Beginner WCF FAQs Step 1: Create client and server certifica ...

  9. 无法在Web服务器上启动调试,与Web服务器通信时出现身份验证错误

    问题描述: 我使用的是修改hosts,模拟真实网址来进行调试的.具体是这样的:我修改hosts文件,把某个域名,如www.163.com映射为127.0.0.1,然后在IIS信息管理器中,创建一个网站 ...

  10. cdh4

    libhadoop.so其实是后面安装impala时要用到 此处配置环境变啦时注意 下 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/l ...