CSDN开源夏令营 百度数据可视化实践 ECharts(8)

(1)前言

首先谢谢林峰老师,继续接着第七篇提到的内容,CSS布局确实很累,感觉不好看了就的调整,总的看起来的高大上嘛,好了废话不再多说。今天主要就先讲解一个页面的内容,对于CSS布局后面讲会详细的介绍给大家。

另外我写的搭配时间轴地图扩展被ECharts采用http://echarts.baidu.com/doc/example/map19.html

(2)总体内容

专题包含有如下五块:

1)大海战全程: 实时描述大海战

2)国力对比篇: 中日战前、战后国力对比

3)装备对比篇: 海军实力全方位对比

4)历史人物篇: 中日决策关键人物

5)殉国将领篇: 纪念北洋海军殉国将领

布局如下:

(2)详细讲述装备对比篇中的-军力对比

首先上图:

(3)代码详解

为了让代码书写的更加有规范性,js和html以及CSS全面分离。

js部分结构如下:

warship04Test.js代码如下:

	require.config({
        paths:{
            echarts:'./js/echarts',
            'echarts/chart/bar' : './js/echarts-map',
            'echarts/chart/line': './js/echarts-map',
			'echarts/chart/radar':'./js/echarts-map'
        }
    });

    require(
        [
            'echarts',
            'echarts/chart/bar',
            'echarts/chart/line',
			'echarts/chart/radar'
        ],

        function (ec) {
        //data : ['总排水量','总兵力','鱼雷发射管','编队马力','火炮数量','平均航速']
        var myChart1bottom = ec.init(document.getElementById('warship01_bottom'));
        myChart1bottom.setOption({
		tooltip : {
        trigger: 'axis',
		formatter:function(a,b,c){
		        var res_jiawu= a[0][0]+'<br/>'+a[0][3];
				for(var i=0;i<a.length;i++)
				{
					switch(a[0][3])
					{
						case '总排水量':
						res_jiawu+='<br/>'+a[i][1]+':'+a[i][2]+'吨';
						break;
						case '编队马力':
						res_jiawu+='<br/>'+a[i][1]+':'+a[i][2]+'匹';
						break;
						case '大口径火炮数':
						res_jiawu+='<br/>'+a[i][1]+':'+a[i][2]+'门';
						break;
						case '火炮:一分钟投弹数量':
						res_jiawu+='<br/>'+a[i][1]+':'+a[i][2]+'发';
						break;
						case '火炮:一分钟投射重量':
						res_jiawu+='<br/>'+a[i][1]+':'+a[i][2]+'千克';
						break;
						case '速射炮数量':
						res_jiawu+='<br/>'+a[i][1]+':'+a[i][2]+'门';
						break;
					}
				}
				return res_jiawu;
			}
    },
    legend: {
        orient : 'vertical',
        x : 'right',
        y : 'bottom',
        data:['北洋舰队','日本联合舰队']
    },
    toolbox: {
        show : true,
        feature : {
            mark : {show: true},
            dataView : {show: true, readOnly: false},
            restore : {show: true},
            saveAsImage : {show: true}
        }
    },
    polar : [
       {
           indicator : [
               { text: '总排水量', max: 50000},
               { text: '编队马力', max: 70000},
               { text: '大口径火炮数', max: 200},
               { text: '火炮:一分钟投弹数量', max: 300},
               { text: '火炮:一分钟投射重量', max: 6000},
               { text: '速射炮数量', max: 100}
            ]
        }
    ],
    calculable : true,
    series : [
        {
            name: '北洋舰队 vs 日本联合舰队',
            type: 'radar',
            data : [
                {
                    value : [32100, 42200, 58, 22, 1864, 0],
                    name : '北洋舰队'

                },
                 {
                    value : [40840, 68900, 104, 232,5965, 89],
                    name : '日本联合舰队',
							itemStyle:{
						normal:{

							label:{
								show:true,
								textStyle:{color:'green'},
								formatter:function(a,b,c){
										switch(b)
										{
											case '总排水量':
											var res= c +'吨';
											break;
											case '编队马力':
											var res= c +'匹';
											break;
											case '大口径火炮数':
											var res= c +'门';
											break;
											case '火炮:一分钟投弹数量':
											var res= c + '发';
											break;
											case '火炮:一分钟投射重量':
											var res= c +'千克';
											break;
											case '速射炮数量':
											var res= c +'门';
											break;
										}
									   return res;
								}
							}
						}
					}
                }
            ]
        }
    ]

        });
        }

    );

军费对比页面如下:

代码如下:

    require.config({
        paths:{
            echarts:'./js/echarts',
            'echarts/chart/bar' : './js/echarts-map',
            'echarts/chart/line': './js/echarts-map',
            'echarts/chart/map' : './js/echarts-map'
        }
    });
    require(
        [
            'echarts',
            'echarts/chart/bar',
            'echarts/chart/line',
            'echarts/chart/map',
            'echarts/chart/pie'
        ],
        function (ec) {

        var myChart4 = ec.init(document.getElementById('warship04'));
        myChart4.setOption({

	    tooltip : {
        trigger: 'axis'
    },
    toolbox: {
        show : true,
        feature : {
            mark : {show: true},
            dataView : {show: true, readOnly: false},
            magicType: {show: true, type: ['line', 'bar']},
            restore : {show: true},
            saveAsImage : {show: true}
        }
    },
    calculable : true,
    legend: {
        data:['北洋舰队军费','日本海军军费','日中军费比值']
    },
    xAxis : [
        {
            type : 'category',
            data : ['1876年','1877年','1878年','1880年','1881年','1882年','1884年','1885年','1886年','1888年','1889年','1893年']
        }
    ],
    yAxis : [
        {
            type : 'value',
            name : '白银',
            axisLabel : {
                formatter: '{value} 万两'
            }
        },
        {
            type : 'value',
            name : '日本军费/北洋军费'
        }
    ],
    series : [

        {
            name:'北洋舰队军费',
            type:'bar',
            data:[200.0, 200.0, 57.0, 57.2, 410.6, 160.7, 210.6, 600.2, 198.6, 200.0, 200.4, 210.3],
			markLine:{
				data:[
					 {type : 'average', name: '平均值'}
				]
			}
        },
        {
            name:'日本海军军费',
            type:'bar',
            data:[400.0, 401.0, 200.0, 230.4, 600.7, 360.7, 670.6, 830.2, 760.7, 818.8, 1100.0, 760.3],
		  // data:[200.0, 200.0, 57.0, 57.2, 410.6, 160.7, 210.6, 600.2, 198.6, 200.0, 200.4, 210.3]
				markLine:{
				data:[
					 {type : 'average', name: '平均值'}
				]
			}
        },
        {
            name:'日中军费比值',
            type:'line',
            yAxisIndex: 1,
            data:[2.0, 2.005, 3.5, 4.03, 1.462, 2.245, 3.184, 1.383, 3.830,4.094, 5.49, 3.62]
        }
    ]

		});

        }
    );

其它更多内容下次继续分享,谢谢大家!本周就先写到这里。

CSDN开源夏令营 百度数据可视化实践 ECharts(8),布布扣,bubuko.com

时间: 2024-10-23 12:35:00

CSDN开源夏令营 百度数据可视化实践 ECharts(8)的相关文章

CSDN开源夏令营 百度数据可视化实践 ECharts(6) 期中总结

期中总结 (1)首先感谢林峰老师的辛勤指导!! 通过半个多月的培训,林峰老师讲解了ECharts总体框架和其中各个部分:图类.组件.接口.基础库的具有应用方法和应该把握的细节,并通过实际的例子熟悉和掌握各个控件.只有打牢基础才能正正的为下步的工作做好准备,熟练的属性代码的编程技巧,才能做出更好的专题. (2)第一次任务重点总结: 要求:了解ECharts特性中列举的每一项特性,并能找到实例中的例子,并且在实例中操作. 重点问题: 1)ECharts一种支持多少种图表?有多少个组件?列举出中英文名

CSDN开源夏令营 百度数据可视化实践 ECharts(2)

将ECharts引入项目中的几种详细方法讲解 (1)打好基本功 首先感谢林峰老师!给我们的悉心指导.我们之所以学习ECharts和Zrender图表组件,为了就是能够将图表应用到我们的实际情况中 来,进而让图表的战士能给我们一种更加人性化的方式呈现给用户.所有我们必须熟悉ECharts中相关组件.下面的例子都以line为例. (2)将ECharts引入项目共有三种方式 2.1)第一种方式-模块化包引入 模块化包引入模式也可以称为开发模式,是开发时最好的方法,不管是开发echarts还是用echa

CSDN开源夏令营 百度数据可视化实践 ECharts(1)

总体规划 (1)选题: 通过了解林峰老师的专题中国主要城市空气质量实况.中国经济十年时空漫游和中国人口流动大潮,涉及了人口.经济和民生等方面的内容,在这里我选择中国高考,作为我的切入点. 高考,一个永恒的话题,是一场你我都值得经历的一场无硝烟的战争.有人曾说:每个高考的孩子都背负着几代人的希望,每个高考的背后都有众多关注的眼睛.人生能有几回搏?虽然失去了许多,但终究会收获很多. (2)题目 2006-2014高考各省市报名人数及录取人数汇总专题 (3)搜集数据资料 工欲善其事,必先利其器.数据的

CSDN开源夏令营 百度数据可视化实践 ECharts(4)

ECharts知识点总结: 在应用过程中总会遇到一些难以理解的概念和属性,这里就总结了一下比较难的知识点,方便理解概念,进而更好的掌握ECharts. (1)1.  一个完整的option包含什么?可以归纳为几类? 下图中颜色已经区分出了三类分别是:公共选项 , 组件选项 , 数据选项 名称 描述 {color}backgroundColor 全图默认背景,(详见backgroundColor),默认为无,透明 {Array} color 数值系列的颜色列表,(详见color),可配数组,eg:

CSDN开源夏令营 百度数据可视化实践 ECharts(5)

Echarts map 谢谢林峰老师的辛勤指导! 本节内容:熟练掌握map和时间轴的搭配 (1)map基本属性 名称 默认值 描述 {boolean | string}selectedMode null 选中模式,默认关闭,可选single,multiple {string} mapType 'china' 地图类型,支持world,china及全国34个省市自治区.省市自治区的mapType直接使用简体中文: 新疆, 西藏, 内蒙古, 青海, 四川, 黑龙江, 甘肃, 云南, 广西, 湖南,

CSDN开源夏令营 百度数据可视化实践 ECharts(7)

本周主要内容整体页面布局: 基于CSS和javascript的页面布局 (1)CSS简介 CSS是能够真正做到网页表现与内容分离的一种样式设计语言.相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言.CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性. 方式:id选择器: 实例: #echarts1 {

CSDN开源夏令营 百度数据可视化实践 ECharts(3)

Echarts  仪表盘 这里主要讲一讲series(仪表盘)的用法,驱动图表生成的数据内容数组,数组中每一项为一个系列的选项及数据 功能丰富,可以做出很漂亮的东西来. (1)首先讲一下仪表盘的基本属性 其中最常用的属性: center 圆心坐标,支持绝对值(px)和百分比,百分比计算min(width,height)*50%,radius 半径大小,支持绝对值(px),百分比计算. radius:半径属性,可以调控半径的大小,支持绝对路径和百分比. (2)全部属性: 名称 默认值 描述 {Ar

CSDN开源夏令营 百度数据可视化实践 ECharts 11 (期末总结)

致谢: CSDN开源夏令营马上就要结束了,随着ECharts专题列入百度ECharts官网,任务就算是基本完成了.再次谢谢林峰老师!回想两个月前听到CSDN要举办这个活动,第一感觉是非常棒,所有就积极看了看所有的项目,项目总体质量很棒,涉及的方面也很广,有云与大数据方面的.有前端与移动方面的.嵌入式与智能硬件方面的.其中linux方面的也很多,总之项目很丰富,也都很有挑战.CSDN是第一年举办这样的活动,虽然时间准备上有些仓促外,总体上组织的很好,在做项目的过程中CSDN的工作人员的服务态度也很

CSDN开源夏令营 百度数据可视化实践 ECharts(8)问题分析

ECharts问题描述: 问题就是折线图上的点是显示的,有人问能不能一开始不显示,当你点击的时候或者是当鼠标移动到上面的时候,折线上的点才显示? 如下图所示: 分析:让折线上的点不显示可以让symbol属性为"none".考虑到当点击的时候让折线上的点显示出来,那么可以再on事件中重新加载option事件.当click到折线关键点时候可以重新加载数据中symbol属性,设置成你想要的形状,并且一定要重新加载setOption事件. {self} on {string} eventNam