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);
    });
});

5. 实际效果图如下:

  

时间: 2024-10-24 21:03:51

echarts中视觉映射器(visualMap)与时间轴(timeline)混用的实现方法的相关文章

超酷的JavaScript叙事性时间轴(Timeline)类库

在线演示 Timeline 是我见过的最酷的展示事件随时间发展的javascript实现.你可以基于时间使用讲故事的方式来创建时间轴特效,整个时间轴以幻灯的方式来展示,你可以穿插图片,视频或者是网站,而且拥有非常华丽的动画效果和缩略图效果,非常适合做网站的关于我们功能. 主要特性 支持外部社交网站,例如,twitter.com, youtube,flickr,vidmeo,Google Maps 开源免费 文档齐全 使用简单 支持数据格式:JSON,Google Doc,HTML 如何使用 插入

SSM-SpringMVC-07:SpringMVC中处理器映射器

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping BeanNameUrlHandlerMapping属于springmvc默认的处理器映射器,配不配这个都可以 因为它在springmvc的配置文件已经配置过了 自己也可以再配置一下BeanNameUrlHandlerMapping,不过没什么用,在自己的xml配置文件中: <!--处理器映射器,写不写都行,这

关于QtCharts中的映射器与模型的使用

简述 本文章基于博主在使用QtCharts中一些经验总结,相关了Qt类有QVXYModelMapper,CustomTableModel(一个继承了QAbstractTableModel的类,用于实现自己的model),QScatterSeries与QLineSeries QVXYModelMapper简述与简单功能演示 QVXYModelMapper简述与简单功能演示 简述 QVXYModelMapper类是线,样条线和分散线系列的垂直模型映射器. 模型映射器可以使用派生自QAbstractI

Android 时间轴TimeLine

代码:这里

3.2Adding custom methods to mappers(在映射器中添加自定义方法)

有些情况下,我们需要实现一些MapStruct无法直接自动生成的复杂类型间映射.一种方式是复用其他已实现的映射.或者,在使用java8或者更高版本的时候,可以直接在映射器接口中实现自定义方法作为默认方法,如果参数和返回类型匹配, 生成的代码将调用默认方法. 举个例子,加入我们要把Person映射成PersonDto,因为涉及到一些特殊的逻辑,MapStruct无法直接将映射代码生成,您可以从前面的示例中定义映射器, 如下所示: Example 8. Mapper which defines a

Echarts-数据的视觉映射

来源:官网,自己整理 数据可视化是 数据 到 视觉元素 的映射过程(这个过程也可称为视觉编码,视觉元素也可称为视觉通道). ECharts 的每种图表本身就内置了这种映射过程,比如折线图把数据映射到『线』,柱状图把数据映射到『长度』.一些更复杂的图表,如 graph.事件河流图.treemap也都会做出他们内置的映射. 此外,ECharts 还提供了 visualMap 组件 来提供通用的视觉映射.visualMap 组件中可以使用的视觉元素有:图形类别(symbol).图形大小(symbolS

继承关系在内存和DB中的映射

使用 将若干相似的类映射为单表,对拥有许多特殊数据的类使用具体表继承. 对高层次使用类表继承,对低层次使用具体表继承. Single Table Inheritance 在DB中将类继承层次设计为一个单表,表中各列代表不同类中的所有域. 运行机制 每个类负责把与之相关的数据保存在表的一行中.表中其它不相关的列留空. 通过表中的Type字段来决定向内存中加载对象时,应该实例化那个类来创建该对象. 可以直接使用类名称 或者需要经过翻译的Code域. 保存数据的代码可以由层超类负责. 使用时机 优点

Spring集成MyBatis的使用-使用Mapper映射器

Spring集成MyBatis使用 前面复习MyBatis时,发现在测试时,需要手动创建sqlSessionFactory,Spring将帮忙自动创建sqlSessionFactory,并且将自动扫描Mapper映射器 (1)集成步骤 step1 导包: spring-webmvc, mybatis, mybatis-spring, dbcp, ojdbc, spring-jdbc, junit, mysql相关等 <dependencies> <!--导入junit测试包-->

Flex Graphics 画时间轴测试例子

视频监控的web观看端有视频回放这一块,需要做一个时间轴,下面是根据Graphics画的时间轴的例子 下图是应用到项目中: 例子做的只是把时间轴网格,时间轴填充和会移动的时间画出来了,很多细节没有,例子中有用Flex画文字的两种实现方式,画时间刻度那种实现不知道怎么改样式 代码如下: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adob