详解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 相关文章推荐
写了一个layout,拖动条连贯,内容区可为iframe
Aug 19 Javascript
jquery.jstree 增加节点的双击事件代码
Jul 27 Javascript
JavaScript 对象模型 执行模型
Oct 15 Javascript
javascript面向对象之定义成员方法实例分析
Jan 13 Javascript
angularjs实现的前端分页控件示例
Feb 10 Javascript
Angular2自定义分页组件
Apr 19 Javascript
微信小程序之自定义组件的实现代码(附源码)
Aug 02 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
Aug 09 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
Oct 12 Javascript
示例vue 的keep-alive缓存功能的实现
Dec 13 Javascript
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 Javascript
vue3.0封装轮播图组件的步骤
Mar 04 Vue.js
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中session使用示例
2014/03/29 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
php动态函数调用方法
2015/05/21 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
关于递归运算的顺序测试代码
2011/11/30 Javascript
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
javascript基本类型详解
2014/11/28 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
jQuery实现电梯导航模块
2020/12/22 jQuery
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
HTML5使用DOM进行自定义控制示例代码
2013/06/08 HTML / CSS
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
Linux开机引导的步骤是什么
2015/10/19 面试题
优秀学生干部事迹材料
2014/12/24 职场文书
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS