Skip to content

dev_echarts

zhouleim edited this page Nov 7, 2016 · 8 revisions

ECharts图表开发说明

ECharts介绍

本次开发依赖于第三方插件--ECharts(一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器 (IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视 化图表。)

###具体使用方法 ####1.下载需引用的js

从官网 http://echarts.baidu.com/download.html 下载界面选择你需要的版本下载,有精简版,常用版,还有完整版,还可以根据自己的项目需要自定义选择下载,具体详情见官网,本次在iuap mobile平台上绑定的是精简版本,仅包含基础图表。

####2.引用js

引入Echart.js,只需要像普通的 JavaScript 库一样用 script 标签引入

<!DOCTYPE html>
<html>
<header>
    <meta charset="utf-8">
    <!-- 引入 ECharts 文件 -->
    <script src="echarts.min.js"></script>
</header>
</html>

####3.在html中定义图表区域 在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器。如下

<body>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width: 600px;height:400px;"></div>
</body>

####4.初始化echart 在js中基于准备好的dom通过 echarts.init 方法,初始化一个 echarts 实例,并通过 setOption 方法生成一个图表

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <script src="echarts.min.js"></script>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));
    // 指定图表的配置项和数据
    var option = {
    };
    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
</script>
</body>
</html>

####5.配置图表数据 其中option包含图表的配置项和数据,里面会定义很多配置项,官网也有较为详细的说明,若想了解的更为全面和具体可参考官网配置项手册 http://echarts.baidu.com/option.html#title 本次就以iuap mobile图表控件的折线图表里面的option做详细说明

var option={
title:{                             //图表名字,可以定义位置,内容
	text:"2016年8月相关数据统计",
	x:"center",
	y:10
},
legend:{                         //图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。
	data: ["新增用户", "活跃用户", "新增vip用户", "活跃vip用户"],
	x:'center',
	y:'450',
	itemGap: 10, //legend元素间隔
	itemWidth: 60, //图标宽度
	itemHeight: 20, //图标高度
	textStyle: {
		color: 'auto',
		fontSize: 14
	}		
},
tooltip: {            // 气泡提示配置
	trigger: 'item'   // 触发类型,默认数据触发,可选为:'axis'
},
 xAxis: [{             //x坐标轴内容设置
    	type: 'category',
    	boundaryGap: true, //两边留出空白策略
	axisLine: {        //坐标线
		lineStyle: {        
			color: '#464646',
			width: 2
		}
	}, 
	axisLabel: {     //x、y坐标轴数据显示风格设置
		interval: 'auto',
		rotate:  -45,    //x轴文字旋转角度
		clickable: true, 
	        textStyle: {
	    	    color: '#767676',
	    	    fontSize: 16
	        }
	},
	axisTick: {           //坐标刻度设置
		interval: 'auto',
		onGap: false
	},
	splitLine: { //分割线
		show: true,
		onGap: false,
		lineStyle: {
			type: 'dashed'
		}
	},
    	data: ['8-1', '8-2', '8-3', '8-4', '8-5', '8-6', '8-7']   //x轴刻度数据
    }],
    yAxis: [{                             //y坐标轴设置
    	type: 'value',
		name: '(万)',
		nameTextStyle:{
    		align: 'right',
    		fontSize: 16
    	},
	axisLine: {              //y坐标轴轴线颜色粗细设置
		lineStyle: {
			color: '#333',
			width: 2
		}
	}, 
	axisLabel: {         //y坐标轴分度值字体设置
	    	textStyle: {
	    		color: '#333',
	    		fontSize: 14
	    	}
	},
	splitLine: {   // y轴分割线设置
		show: true,
		onGap: false,
		lineStyle: {
			type: 'dashed'
		}
	},
	splitNumber: 10
    }],
    grid: { //控制坐标的四周间距(距离绘制好的dom边界距离)
		x: 60,
		y: 70,
		x2: 40,
		y2: 100
    },
   series: [{                    //配置4条折线数据
	    name: '新增用户',type: 'line',symbol: 'emptyCircle',symbolSize: 4,
	    itemStyle: {
		normal: {
			lineStyle:{
				width: 3
			}	
		}
	    },
		data:[50, 234, 450, 580, 760,780,900]  
	},{
		name: '活跃用户',type: 'line',symbol: 'emptyCircle',symbolSize: 4,
		itemStyle: {
			normal: {
				lineStyle:{
					width: 3
				}	
			}
		},
		data: [10, 160, 346, 370, 420,470,530]
	},{
		name: '新增vip用户',type: 'line',symbol: 'emptyCircle',symbolSize: 4,
		itemStyle: {
			normal: {
				lineStyle:{
					width: 3
				}
			}
		},
		data: [2, 40, 50, 130, 210,200,149]
	},{
		name: '活跃vip用户',type: 'line',symbol: 'emptyCircle',symbolSize: 4,
		itemStyle: {
			normal: {
				lineStyle:{
					width: 3
				}
			}
		},
		data: [10, 30, 38, 120, 310,380,680]
	}]
};

####6.绑定事件 配置完成后图表就能渲染出来了,除此以外,Echart还可以绑定事件和行为,具体可参考官网: http://echarts.baidu.com/tutorial.html#ECharts%20%E4%B8%AD%E7%9A%84%E4%BA%8B%E4%BB%B6%E5%92%8C%E8%A1%8C%E4%B8%BA 下面以图表的每一个配置数据绑定一个点击事件为例,如下:

myChart.on('click', function (params) {
// 控制台打印数据的名称
console.log(params.name);
});  

图表开发测试demo的github地址

Clone this wiki locally