详解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 相关文章推荐
JQuery 解析多维的Json数据格式
Nov 02 Javascript
JQuery选择器特辑 详细小结
May 14 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
Nov 26 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
Sep 11 Javascript
微信小程序 WebSocket详解及应用
Jan 21 Javascript
浅谈AngularJS中使用$resource(已更新)
Sep 14 Javascript
Vue安装浏览器开发工具的步骤详解
May 12 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
Jul 18 Javascript
JavaScript实现好看的跟随彩色气泡效果
Feb 06 Javascript
Javascript操作select控件代码实例
Feb 14 Javascript
JS实现简单九宫格抽奖
Jun 28 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实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
JQuery里面的几种选择器 查找满足条件的元素$(&quot;#控件ID&quot;)
2011/08/23 Javascript
JSON辅助格式化处理方法
2013/03/26 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
Angular网络请求的封装方法
2018/05/22 Javascript
浅谈微信小程序flex布局基础
2018/09/10 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
Python迭代器和生成器介绍
2015/03/06 Python
Python中使用logging模块打印log日志详解
2015/04/05 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
2019/08/12 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
Python银行系统实战源码
2019/10/25 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
python中关于数据类型的学习笔记
2020/07/19 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
客服专员岗位职责范本
2013/11/29 职场文书
医学专业毕业生个人求职信
2013/12/25 职场文书
空乘英文求职信
2014/04/13 职场文书
行政工作试用期自我评价
2014/09/14 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
碧霞祠导游词
2015/02/09 职场文书
《观察物体》教学反思
2016/02/17 职场文书
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python