HTML5数据可视化学习之路---eChart起步

这几天在学习HTML5,准备从FLEX转型了。看了一些基础的学习教材,也写了一些基础例子,但是仍然没决定从什么地方入手。今天在网上无意间发现了一个很牛叉的图表库EChart,并且这个项目还是百度团队开发的。优点在我看来除了官方说的那些特性之外最好的就是,中文稳定非常全(因为毕竟是我们中国人自己开发的)。

开始看了官方的Dome真的是非常丰富,基本上现在用到的数据可视化的常用图表都有了。于是开始找一个例子开始来进行我的第一个eChart项目吧。

我选择的是地图选择器和标准地图两个组件,因为现在开发项目时用到的地图很多,也用过一些其他的框架比如jvectormap,然后就是自己用SVG写的。这次发现这个echart居然有这么好的一个地图组件。当然要从他开始了。

先从官方网站上下载好echart。然后从builde文件夹下面将echarts.js和chart文件夹考到我们建的工程中,然后开发环境就做好了。就是这么简单。

进入写代码阶段了。

第一步先在页面定义一个 <div id="main" style="height: 500px;"></div> 这里要注意 必须先定义好这个高度 如果不定义的话会报错。

第二步在这个div的下面引入<script src="../js/echarts.js" type="text/javascript" charset="utf-8"></script> JS文件。

第三步开始写图表的主代码了……直接上代码


<script type="text/javascript">
			require.config({
				paths:{
					echarts:'../js'
				}
			})
			require([
				'echarts',
				'echarts/chart/map'
			],
			function(ec){
				mychart = ec.init(document.getElementById('main'));
				mychart.setOption({
					title:{
						text:'iphone销量',
						subtext:'纯属虚构',
						x:'center'
					},
					tooltip:{
						trigger:'axis'
					},
					legend:{
						orient:'vertical',
						x:'left',
						data:['iphone3','iphone4','iphone5']
					},
					dataRange:{
						min:0,
						max:2500,
						x:'left',
						y:'bottom',
						text:['高','低'],
						calculable:true
					},
					toolbox:{
						show:true,
						orient:'vertical',
						x:'right',
						y:'center',
						feature:{
							mark:{show:true},
							dataView:{show:true,readOnly:false},
							restore:{show: true},
							saveAsImage:{show:true}
						}
					},
					roamController:{
						show:true,
						x:'right',
						mapTypeControl:{
							'china':true
						}
					},
					series:[{
						name:'iphone3',
						type:'map',
						mapType:'china',
						roam:false,
						itemStyle:{
							normal:{label:{show:true}},
							emphasis:{label:{show:true}}
						},
						data:[
							{name:'北京',value:Math.round(Math.random()*1000)},
							{name: '天津',value: Math.round(Math.random()*1000)},
               			    {name: '上海',value: Math.round(Math.random()*1000)},
                			{name: '重庆',value: Math.round(Math.random()*1000)},
                			{name: '河北',value: Math.round(Math.random()*1000)},
                			{name: '河南',value: Math.round(Math.random()*1000)},
                			{name: '云南',value: Math.round(Math.random()*1000)},
                			{name: '辽宁',value: Math.round(Math.random()*1000)},
                			{name: '黑龙江',value: Math.round(Math.random()*1000)},
                			{name: '湖南',value: Math.round(Math.random()*1000)},
                			{name: '安徽',value: Math.round(Math.random()*1000)},
                			{name: '山东',value: Math.round(Math.random()*1000)},
                			{name: '新疆',value: Math.round(Math.random()*1000)},
                			{name: '江苏',value: Math.round(Math.random()*1000)},
                			{name: '浙江',value: Math.round(Math.random()*1000)},
                			{name: '江西',value: Math.round(Math.random()*1000)},
                			{name: '湖北',value: Math.round(Math.random()*1000)},
                			{name: '广西',value: Math.round(Math.random()*1000)},
                			{name: '甘肃',value: Math.round(Math.random()*1000)},
                			{name: '山西',value: Math.round(Math.random()*1000)},
                			{name: '内蒙古',value: Math.round(Math.random()*1000)},
                			{name: '陕西',value: Math.round(Math.random()*1000)},
                			{name: '吉林',value: Math.round(Math.random()*1000)},
                			{name: '福建',value: Math.round(Math.random()*1000)},
                			{name: '贵州',value: Math.round(Math.random()*1000)},
                			{name: '广东',value: Math.round(Math.random()*1000)},
                			{name: '青海',value: Math.round(Math.random()*1000)},
                			{name: '西藏',value: Math.round(Math.random()*1000)},
                			{name: '四川',value: Math.round(Math.random()*1000)},
                			{name: '宁夏',value: Math.round(Math.random()*1000)},
                			{name: '海南',value: Math.round(Math.random()*1000)},
                			{name: '台湾',value: Math.round(Math.random()*1000)},
               			    {name: '香港',value: Math.round(Math.random()*1000)},
                			{name: '澳门',value: Math.round(Math.random()*1000)}
						
						]
					},        {
            name: 'iphone4',
            type: 'map',
            mapType: 'china',
            itemStyle:{
                normal:{label:{show:true}},
                emphasis:{label:{show:true}}
            },
            data:[
                {name: '北京',value: Math.round(Math.random()*1000)},
                {name: '天津',value: Math.round(Math.random()*1000)},
                {name: '上海',value: Math.round(Math.random()*1000)},
                {name: '重庆',value: Math.round(Math.random()*1000)},
                {name: '河北',value: Math.round(Math.random()*1000)},
                {name: '安徽',value: Math.round(Math.random()*1000)},
                {name: '新疆',value: Math.round(Math.random()*1000)},
                {name: '浙江',value: Math.round(Math.random()*1000)},
                {name: '江西',value: Math.round(Math.random()*1000)},
                {name: '山西',value: Math.round(Math.random()*1000)},
                {name: '内蒙古',value: Math.round(Math.random()*1000)},
                {name: '吉林',value: Math.round(Math.random()*1000)},
                {name: '福建',value: Math.round(Math.random()*1000)},
                {name: '广东',value: Math.round(Math.random()*1000)},
                {name: '西藏',value: Math.round(Math.random()*1000)},
                {name: '四川',value: Math.round(Math.random()*1000)},
                {name: '宁夏',value: Math.round(Math.random()*1000)},
                {name: '香港',value: Math.round(Math.random()*1000)},
                {name: '澳门',value: Math.round(Math.random()*1000)}
            ]
        },
        {
            name: 'iphone5',
            type: 'map',
            mapType: 'china',
            itemStyle:{
                normal:{label:{show:true}},
                emphasis:{label:{show:true}}
            },
            data:[
                {name: '北京',value: Math.round(Math.random()*1000)},
                {name: '天津',value: Math.round(Math.random()*1000)},
                {name: '上海',value: Math.round(Math.random()*1000)},
                {name: '广东',value: Math.round(Math.random()*1000)},
                {name: '台湾',value: Math.round(Math.random()*1000)},
                {name: '香港',value: Math.round(Math.random()*1000)},
                {name: '澳门',value: Math.round(Math.random()*1000)}
            ]
        }
					
					]
					
				})
			})
		</script>
写好后 运行就可以看到效果了 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值