详解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 相关文章推荐
javascript对象的property和prototype是这样一种关系
Mar 24 Javascript
小议javascript 设计模式 推荐
Oct 28 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
Aug 26 Javascript
JavaScript获取页面上某个元素的代码
Mar 13 Javascript
jQuery分别获取选中的复选框值的示例
Jun 17 Javascript
js实现图片点击左右轮播
Jul 08 Javascript
Jquery中map函数的用法
Jun 03 Javascript
jQuery回到顶部的代码
Jul 09 Javascript
微信公众平台开发教程(五)详解自定义菜单
Dec 02 Javascript
js构造函数创建对象是否加new问题
Jan 22 Javascript
关于vue-cli 3配置打包优化要点(推荐)
Apr 22 Javascript
详解Vue中的基本语法和常用指令
Jul 23 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
关于页面优化和伪静态
2009/10/11 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
PDO::quote讲解
2019/01/29 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
简单实现bootstrap选项卡效果
2017/02/08 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
2018/11/30 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
python编写爬虫小程序
2015/05/14 Python
对Python 数组的切片操作详解
2018/07/02 Python
Python logging模块用法示例
2018/08/28 Python
Laravel框架表单验证格式化输出的方法
2019/09/25 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
Python中内建模块collections如何使用
2020/05/27 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
酒店门卫岗位职责
2013/12/29 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
2016国培学习心得体会
2016/01/08 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python