详解angularjs实现echart图表效果最简洁教程


Posted in Javascript onNovember 29, 2017

本文介绍了详解angularjs实现echart图表效果最简洁教程,分享给大家,具体如下:

ehcart是百度做的数据图表,基于原生js。接口和配置都写的很好很易读,还可以用于商用。

一 echart包引用

下载解压,放入lib中。

下载地址:echart_3water.rar

并在index.html中引用如图两个js文件。

详解angularjs实现echart图表效果最简洁教程

app.js中引用angular-echarts

详解angularjs实现echart图表效果最简洁教程

二 页面

html页面

<!--饼图-->
  <div>
   <donut-chart config="donutConfig" data="dataList.incomeData">
   </donut-chart>
  </div>
<!--柱状图-->
 <div id="id0001" style="width: 100%;height: 400px; padding: 0;margin: 0; border-width: 0; ">
 </div>

controller

/**
 * Created by xiehan on 2017/11/29.
 */
angular.module('studyApp.controllers')

 .controller('EchartCtrl', function ($scope, $rootScope, $ionicHistory,$location) {

  $scope.title = 'echart图表';

  /*
   官方实例链接:http://echarts.baidu.com/examples.html
   */

  $scope.goBack = function () {
   $ionicHistory.goBack();
  };

  //用于数据的格式化
  $scope.dataList = {
   incomeData:""
  };
  // 饼图
  $scope.pieConfig = {};
  // 环形图
  $scope.donutConfig = {};

  init();

  function init() {
   initChartsConfig();
   initIncome();
   initConfigChart();
  }

  //饼图配置初始化
  function initChartsConfig() {
   $scope.pieConfig = {
    center: [120, '50%'],
    radius: 90
   };
   $scope.donutConfig = {
    radius: [0, 90]
   };
  }
  //饼图数据
  function initIncome(){
   var temp = [
    {
     NAME:"测试1",
     NUM:11
    },
    {
     NAME:"测试2",
     NUM:22
    },
    {
     NAME:"测试3",
     NUM:33
    },
    {
     NAME:"测试4",
     NUM:44
    }
   ];

   if (temp) {
    // 处理数据
    var temp2 = [];
    angular.forEach(temp, function (item) {
     var t = {x: item.NAME, y: item.NUM};
     temp2.push(t);
    });
    $scope.dataList.incomeData = [{
     name: 'echart饼图测试',
     datapoints: temp2
    }];
   }
  }

  //柱状图数据
  function initConfigChart() {
   var parkaccountChart = echarts.init(document.getElementById('id0001'));//div 标签id
   var seriesLabel = {
    normal: {
     show: true,
     textBorderColor: '#333',
     textBorderWidth: 2
    }
   };
   var option = {
    tooltip: {
     trigger: 'axis',
     axisPointer: {
      type: 'shadow'
     }
    },
    legend: {
     data: ['总数1', '总数2', '总数3'],
     bottom:true
    },
    grid: {
     left: '1%',
     right: '4%',
     bottom: '8%',
     top:'5%',
     containLabel: true
    },
    xAxis: {
     type: 'value',
     name: '',
     axisLabel: {
      formatter: '{value}'
     }
    },
    yAxis: {
     type: 'category',
     inverse: true,
     data: ['y1', 'y2', 'y3']
    },
    series: [
     {
      name: '总数1',
      type: 'bar',
      label: seriesLabel,
      data: [165, 170, 330]
     },
     {
      name: '总数2',
      type: 'bar',
      label: seriesLabel,
      data: [150, 105, 110]
     },
     {
      name: '总数3',
      type: 'bar',
      label: seriesLabel,
      data: [220, 82, 63]
     }
    ]
   };
   parkaccountChart.setOption(option);

  }

 });

效果图

详解angularjs实现echart图表效果最简洁教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
B/S开发中常用javaScript技术与代码
Mar 09 Javascript
两个Javascript小tip资料
Nov 23 Javascript
24款非常有用的 jQuery 插件分享
Apr 06 Javascript
js实现超酷的照片墙展示效果图附源码下载
Oct 08 Javascript
JavaScript编程的单例设计模讲解
Nov 10 Javascript
js利用clipboardData实现截屏粘贴功能
Oct 12 Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 Javascript
JavaScript中数据类型转换总结
Dec 25 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
Oct 17 Javascript
基于JavaScript实现报警器提示音效果
Oct 27 Javascript
理解 JavaScript EventEmitter
Mar 29 Javascript
Javascript如何实现双指控制图片功能
Feb 25 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
Nov 29 #Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
Nov 29 #Javascript
node.js支持多用户web终端实现及安全方案
Nov 29 #Javascript
Angular4的输入属性与输出属性实例详解
Nov 29 #Javascript
node.js中axios使用心得总结
Nov 29 #Javascript
Vue2.0用户权限控制解决方案
Nov 29 #Javascript
vue.js项目中实用的小技巧汇总
Nov 29 #Javascript
You might like
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
学习Node.js模块机制
2016/10/17 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
python多线程threading.Lock锁用法实例
2014/11/01 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
python:接口间数据传递与调用方法
2018/12/17 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
土木工程专业大学毕业生求职信
2013/10/13 职场文书
检讨书范文
2015/01/27 职场文书
CentOS MySql8 远程连接实战
2022/04/19 MySQL