echarts中视觉映射器(visualMap)与时间轴(timeline)混用的实现方法
1、简述
echarts中的 timeline 组件,提供了在多个 ECharts option 间进行切换、播放等操作的功能。
与其他组件些不同,它需要操作『多个option』。 所以除了基准的baseOption外,我们还需要设置一个原子option和多个原子option的复合option。
2. baseOption实现方式如下(以石家庄市地图为例):
var mapDataByAreaTest = [ //各区域初始值
{name: '长安区', value: 12},
{name: '辛集市', value: 0},
{name: '无极县', value: 0},
{name: '赵县', value: 0},
{name: '平山县', value: 0},
{name: '元氏县', value: 0},
{name: '灵寿县', value: 0},
{name: '赞皇县', value: 0},
{name: '深泽县', value: 0},
{name: '高邑县', value: 0},
{name: '新华区', value: 34},
{name: '井陉县', value: 0},
{name: '行唐县', value: 0},
{name: '正定县', value: 31},
{name: '桥西区', value: 5},
{name: '栾城区', value: 21},
{name: '鹿泉区', value: 25},
{name: '藁城区', value: 30},
{name: '裕华区', value: 7},
{name: '井陉矿区', value: 45},
{name: '晋州市', value: 0},
{name: '新乐市', value: 0}
];
var timeByMonth = ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'];//timeline初始值
var baseOption = {
timeline: {
show: true,
axisType: 'category',
autoPlay: true,
currentIndex: 5,
playInterval: 5000,
symbolSize: 12,
checkpointStyle: {
symbol: 'circle',
symbolSize: 18,
color: '#00d3e7',
borderWidth: 2,
borderColor: "#00d3e7"
},
label: {
normal: {
show: true,
textStyle: {
fontSize: '14',
color:'#fff'
}
},
emphasis:{
textStyle: {
fontSize: '18',
color:'#00d3e7'
}
}
},
data: timeByMonth
},
visualMap: {
min: 0,
max: 50,
left: '16%',
top: '68%',
text: ['高','低'],
calculable: true,
itemWidth: 30,
inRange: {
color: ['#56c5d0','#eac736','#d94e5d']
},
textStyle: {
fontSize: '16',
color:'#fff'
}
},
series: [{
name: '',
type: 'map',
mapType: 'sjz',
itemStyle:{
normal:{label:{show:true}},
emphasis:{label:{show:true}}
},
roam: false,
label: {
normal: {
show: true,
textStyle: {
fontSize: '14',
color:'#fff'
}
},
emphasis: {
show: true
}
},
data:mapDataByAreaTest
}]
};
3. options实现方式如下:
varar options = [];
var mapOption = {};
for(var i=0;i<timeByMonth.length;i++){
options.push({
series: baseOption.series//此处可以根据实际情况循环放置每个option的series对应的data值
});
}
mapOption.baseOption = baseOption;
mapOption.options = options;
4. 页面地图绘制:
$.get('/data/sjz_map.json', function (data) {
echarts.registerMap('sjz', data);
var myChart = echarts.init(document.getElementById('sjz_map'));
myChart.setOption(mapOption);
myChart.on("timelinechanged", function(param){
/ /TODO DO SOMETING ELSE HERE
myChart.setOption(mapOption);
});
});
echarts中视觉映射器(visualMap)与时间轴(timeline)混用的实现方法的更多相关文章
- 时间轴 timeline
时间轴 timeline https://www.helloweba.net/javascript/285.html https://www.helloweba.net/demo/v_timeline ...
- SSM-SpringMVC-07:SpringMVC中处理器映射器
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping BeanN ...
- 关于QtCharts中的映射器与模型的使用
简述 本文章基于博主在使用QtCharts中一些经验总结,相关了Qt类有QVXYModelMapper,CustomTableModel(一个继承了QAbstractTableModel的类,用于实现 ...
- SharePoint 中时间轴 Timeline的实现
客户需要在OA中实现每日动态功能,能够记录每一位员工的每天的工作动态,我很快想到了时间轴,因为时间轴能很直观的现实员工每一刻的动态.就像Facebook的Timeline效果(点击查看). 尝试着搜索 ...
- echarts使用结合时间轴timeline动态刷新案例
1.echarts简介 ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Fire ...
- Alamofire源码解读系列(十二)之时间轴(Timeline)
本篇带来Alamofire中关于Timeline的一些思路 前言 Timeline翻译后的意思是时间轴,可以表示一个事件从开始到结束的时间节点.时间轴的概念能够应用在很多地方,比如说微博的主页就是一个 ...
- 横向、纵向时间轴timeline系列
近期移动端项目用到了很多时间轴.纵向的.开始可以实现,但是不利于维护.整理下, 以作为备份留存学习参考.子元素的 标签的 :before实现圆点,:after实现边线border纵向时间轴,单一右边内 ...
- 超酷的JavaScript叙事性时间轴(Timeline)类库
在线演示 Timeline 是我见过的最酷的展示事件随时间发展的javascript实现.你可以基于时间使用讲故事的方式来创建时间轴特效,整个时间轴以幻灯的方式来展示,你可以穿插图片,视频或者是网站, ...
- JQuery时间轴timeline插件的学习-Lateral On-Scroll Sliding with jQuery+technotarek / timeliner
一.Lateral On-Scroll Sliding with jQuery的使用 View demo Download source 1. HTML结构 <div id=" ...
随机推荐
- (亲测)躺着破解IDM下载权限,治疗不用破解补丁的强迫症们
首先.如果触犯了某些规则权限,请原谅. 很早以前就做过这个的破解,挺实用的,我今天就把之前写的经验贴出来大家一起学习学习~~~ 今天利用这个方法破解了最新版,最终的效果如下所示:我不是来刷存在感的.只 ...
- POJ 3154 Graveyard【多解,数论,贪心】
Graveyard Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 1707 Accepted: 860 Specia ...
- 我的第一个网页制作:Hello World!
这是我花了一个晚上搞的一个Hello World!也只会Hello World!慢慢学,要努力成为大神(黑客专家) 下面给出HTML代码: <html> <head> < ...
- Git服务搭建及github使用教程
.pos { position: fixed; top: 35%; left: 90% } .pos a { border: 2px solid white; background: #99CCFF; ...
- flume1.8 基础架构介绍(一)
1. 系统要求 1. Java运行环境 -- Java 1.8及以上 2. 内存 -- 足够的内存供配置的sources,channels 或者sinks使用 3. 硬盘空间 -- 足够的硬盘空间供配 ...
- css实现视差滚动效果
今天逛京东金融的时候发现他家网站首页的滚动效果看着很有意思,于是就做了一个,demo链接http://1.liwenyang.applinzi.com/index.html 大多数的视差滚动效果都是使 ...
- Oracle:控制语句 IF..ELSIF语句、CASE语句、FOR循环语句
--多重if语句(注意点:BEGIN END ,IF 条件 THEN,ELSIF 条件 THEN,ELSE... END IF)BEGIN IF FALSE THEN DBMS_OUTPUT.put_ ...
- 关于STM32驱动DS1302实时时钟的一点思考
之前用51驱动过DS1302,没用多久就输出了正确的时间.当时以为这块芯片其实没啥,很简单.但是现在用STM32做项目,用到同样的芯片,以为这有何难,只要把那个程序拿过来复制黏贴改一下IO设置不就行了 ...
- 【翻译】A Next-Generation Smart Contract and Decentralized Application Platform
原文链接:https://github.com/ethereum/wiki/wiki/White-Paper 当中本聪在2009年1月启动比特币区块链时,他同时向世界引入了两种未经测试的革命性的新概念 ...
- Angular CLI: 发布到 GitHub Pages
发布 Angular 应用的简单方式是使用 GitHub Pages. 首先需要创建一个 GitHub 账号,随后,为您的项目创建一个仓库.记下 GitHub 中的用户名和项目名称. 例如,我的 Gi ...