【项目实战】---ECharts绘制环形图
2017-11-26 14:54
676 查看
前言:
ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等)。支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表,同时提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可交互组件,支持多图表、组件的联动和混搭展现。在项目中也对它进行了实践,这次以饼图为例,一起看看吧,简单易用,效果还很不错。
首先:
引入和ECharts相关的js文件<script type="text/javascript" src="/Scripts/echarts-all.js"></script>
页面核心:
<div data-options="region:'west',split:true,title:'Demo',collapsible:false" style="width: 50%;" id="chart0"> </div>
js核心:
测试版本:
可以借助官网很好的做到测试的效果,改动代码查看自己想要的效果---种子。var option = { tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: { orient : 'vertical', x : 'left', data:['谷类','瓜果蔬菜类','肉类','奶制品豆制品类','油脂类'] }, toolbox: { show : true, feature : { mark : {show: true}, dataView : {show: true, readOnly: false}, magicType : { show: true, type: ['pie', 'funnel'], option: { funnel: { x: '25%', width: '50%', funnelAlign: 'center', max: 1548 } } }, restore : {show: true}, saveAsImage : {show: true} } }, calculable : true, series : [ { name:'食物分类', type:'pie', radius : ['50%', '70%'], itemStyle : { normal : { label : { show : false }, labelLine : { show : false } }, emphasis : { label : { show : true, position : 'center', textStyle : { fontSize : '30', fontWeight : 'bold' } } } }, data:[ {value:335, name:'谷类'}, {value:310, name:'瓜果蔬菜类'}, {value:234, name:'肉类'}, {value:135, name:'奶制品豆制品类'}, {value:1548, name:'油脂类'} ] } ] };
但实际上,我们在实现图表的时候都是通过条件筛选,动态加载出数据,生成对应的图,这时候就要借助AJax来实现,更方便跟灵活。同时也可以通过demo的测试去除一些不必要的样式或者新增自己想要的效果,都是可以的。
JS:
//统计图加载js function DemoChart() { var strTime_Begin = $('#search_txtTime_Begin').datebox('getValue'); var strTime_End = $('#search_txtTime_End').datebox('getValue'); var foodtype = [];//存放食物类别 $.ajax({ url: '/Statistics/queryFoodType', type: 'post', cache: false, data: { strTime_Begin: strTime_Begin, strTime_End: strTime_End }, success: function (result) { var obj = eval('(' + result + ')'); //请求成功时执行该函数内容,result即为服务器返回的json对象 for (var i = 0; i < obj.length; i++) { foodtype.push(obj[i].name) } var option0 = { tooltip: { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: { orient: 'vertical', x: 'left', data: foodtype,//1、图注,数据格式见上面测试版本js show: true //显示 }, calculable: true, series: [ { name: '食物分类', type: 'pie', //图的类型 radius: ['50%', '70%'], itemStyle: { normal: { label: { show: false }, labelLine: { show: false } }, emphasis: { label: { show: true, position: 'center', textStyle: { fontSize: '30', fontWeight: 'bold' } } } }, data: obj //绘制图的数据源,数据格式见上面测试版本js } ] } var myChart0 = echarts.init(document.getElementById('chart0'));//chart0很关键,和页面标签id要一致 myChart0.setOption(option0); }, error: function (errorMsg) { //请求失败时执行该函数 $.messager.alert("系统提示", "图表请求数据失败!"); myChart0.hideLoading(); } });}
效果:
总结:
ECarts是一直纯JS的图表库,根据官网的实例可以很快的上手,希望大家可以尝试,让数据统计的显示效果更加明了,形式更加多样。相关文章推荐
- 【WEB前端】使用百度ECharts,绘制项目质量报表
- Android快乐贪吃蛇游戏实战项目开发教程-06虚拟方向键(五)绘制方向键箭头
- Angular4记账webApp练手项目之四(在Angular4项目中用echarts绘制图表)
- Android快乐贪吃蛇游戏实战项目开发教程-03虚拟方向键(二)绘制一个三角形
- vue+iview+less+echarts实战项目总结
- 在Vue项目中使用Echarts(五): Echarts绘制地图
- django项目实战(2)-数据库配置
- echarts-环形图处理图列中的点击,使百分比的数据列不发生变化,默认追加其他选项
- js项目实战(弹性预算规则)
- 01 (maven+SSH)网上商城项目实战之项目简介
- 第十篇:ndk项目实战之Androidstudio开发经验总结
- 第七周项目1—建立顺序环形队列算法库
- 04(maven+SSH)网上商城项目实战之maven热部署
- vue-vue-router-vuex项目实战——环境搭建运行
- Asp.NET Core2.0 项目实战入门视频课程_完整版
- 【SSH项目实战】国税协同平台-21.PowerDesigner概念、物理模型
- 8天微信小程序从入门到项目实战
- 【java】itoo项目实战之hibernate 批量保存优化
- 【BMI指数计算器V1.0】项目实战
- Asp.Net Core 2.0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级