核心提示:ECharts 特性介绍ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Sa...
ECharts 特性介绍
ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。
ECharts 3 中更是加入了更多丰富的交互功能以及更多的可视化效果,并且对移动端做了深度的优化。
丰富的图表类型
ECharts 提供了常规的折线图,柱状图,散点图,饼图,K线图,用于统计的盒形图,用于地理数据可视化的地图,热力图,线图,用于关系数据可视化的关系图,treemap,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。
你可以在下载界面下载包含所有图表的构建文件,如果只是需要其中一两个图表,又嫌包含所有图表的构建文件太大,也可以在在线构建中选择需要的图表类型后自定义构建。
多个坐标系的支持
ECharts 3 开始独立出了“坐标系”的概念,支持了直角坐标系(catesian,同 grid)、极坐标系(polar)、地理坐标系(geo)。图表可以跨坐标系存在,例如折、柱、散点等图可以放在直角坐标系上,也可以放在极坐标系上,甚至可以放在地理坐标系中。
下面是一个地图在极坐标系上的例子:
1首先下载china.js
echarts.min.js
<%@ page language="Java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <meta charset="utf-8"> <!-- 引入 ECharts 文件 --> <script src="echarts.min.js"></script> <script src="china.js"></script> </head> <body> <p id="main" style="width: 1000px;height:600px;"></p> <script type="text/javascript"> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); function randomData() { return Math.round(Math.random()*1000); } /* var date=[{name: '北京',value: '400' },{name: '天津',value: '100' }] var names=[]; var values=[]; for(var i=0;i<date.length;i++){ names[i]=date[i].name alert(names[i]) values[i]=date[i].value } */ // 指定图表的配置项和数据 myChart.setOption( { title: { text: '百旺金赋', subtext: 'Demo李亚鹏', left: 'center' }, tooltip: { trigger: 'item' }, legend: { orient: 'vertical', left: 'left', data:['服务数量'] }, visualMap: { min: 0, max: 2500, left: 'left', top: 'bottom', text: ['高','低'], // 文本,默认为数值文本 calculable: true }, toolbox: { show: true, orient: 'vertical', left: 'right', top: 'center', feature: { dataView: {readOnly: false}, restore: {}, saveAsImage: {} } }, series: [ { name: '百旺金赋bwjf', type: 'map', mapType: 'china', roam: false, label: { normal: { show: true }, emphasis: { show: true } }, data:[ // {name: names,value:values } ] } ] }); /* var names=[]; var values=[]; alert({date}) for(var i=0;i<date.length;i++){ // names[i]=date[i].name // values[i]=date[i].value } */ /* myChart.setOption({ series: [{ // 根据名字对应到相应的系列 data:date }] });*/ //alert(names) // 使用刚指定的配置项和数据显示图表。 //myChart.setOption(option); // 静态数组格式的json用于测试 //名字必须和地图上对应起来 var date=[{name: '北京',value: '100' },{name: '广西',value: '945' },{name: '西藏',value: '300' },{name: '新疆',value: '1888' },{name: '台湾',value: '222' }]; myChart.setOption({ series: [{ // 根据名字对应到相应的系列 data:date }] }); //发送异步请求获取数据进行绑定 /* $.get('hehe.json').done(function (data) { // 填入数据 myChart.setOption({ series: [{ // 根据名字对应到相应的系列 data:data }] }); });*/ </script> </body> </html>