angularf封装echarts
前言:angular中快速使用echarts
在html使用ehart很简单,你只需要引入文件和按照官方例子按照对应参数配置和数据填充就Ok了,那么在angular中怎么使用eharts(可以使用echarts3),你只需要去看个官方提供的demo,大致知道图形通过做哪些事构建出来的就行。
步骤:
1.知道大致流程,这里你可以官网直接去gitup地址,上面有angular echarts的使用方法的介绍,我三个都看了觉得最三个最容易看懂且代码也比较少,克隆下来看里面代码很快就明白了。
2.引入文件到项目中
1)你可以使用npm i ng-echarts --save-dev,然后在task任务中打包,相应地方require引入。
2)通过下载js文件外部引入(博主一般将插件都外部引入放在lib目录中)
你在gitup克隆下来的demo中js文件复制到lib的echarts下,macarons.js是一个主题文件,你需要在官网中的主题文件下载中下载你对应的主题。
3.在gulp任务中将引入的文件打包
gulp.task('build-lib-js', ['build-clean-third-lib-js'], function () { var thirdLibJs = gulp.src([//外部引用js
'./lib/bootstrap/js/bootstrap.min.js',
'./lib/echarts/echarts.min.js',
'./lib/echarts/macarons.js',
])
.pipe(concat('lib.min.js', {newLine: '\r\n'}))
.pipe(gulp.dest('js')); return merge.apply(null, thirdLibJs);
});
4.使用方法
1).html模块
ec-option:echarts中的option
ec-config:其他参数的配置项 * theme:图表主题名称, * event:绑定事件 * dataLoaded:数据是否加载(用于Loading)
<ng-echarts class="col-md-6 echarts" ec-config="lineConfig" ec-option="lineOption"></ng-echarts>
2)自定义组件模块
angular.module('ng-echarts',[])
.directive('ngEcharts',[function(){
return {
link: function(scope,element,attrs,ctrl){
function refreshChart(){
var theme = (scope.config && scope.config.theme)
? scope.config.theme : 'default';
var chart = echarts.init(element[0],theme);
if(scope.config && scope.config.dataLoaded === false){
chart.showLoading();
} if(scope.config && scope.config.dataLoaded){
chart.setOption(scope.option);
chart.resize();
chart.hideLoading();
} if(scope.config && scope.config.event){
if(angular.isArray(scope.config.event)){
angular.forEach(scope.config.event,function(value,key){
for(var e in value){
chart.on(e,value[e]);
}
});
}
}
}; //自定义参数 - config
// event 定义事件
// theme 主题名称
// dataLoaded 数据是否加载 scope.$watch(
function () { return scope.config; },
function (value) {if (value) {refreshChart();}},
true
); //图表原生option
scope.$watch(
function () { return scope.option; },
function (value) {if (value) {refreshChart();}},
true
);
},
scope:{
option:'=ecOption',
config:'=ecConfig'
},
restrict:'EA'
}
}]);
3)controller模块(配置参数和加载数据)
你可以根据官方例子将数据更改为接口获取,将配置项根据需要修改参数,参数具体参考
.controller('Ctrl1',function($scope,$interval,$timeout){
function onClick(params){
console.log(params);
}; $scope.lineConfig = {
theme:'default',//主题
event: [{click:onClick}],//触发事件
dataLoaded:true//数据是否加载
}; $scope.lineOption = {
title : {//标题
text: '未来一周气温变化(5秒后自动轮询)',
subtext: '纯属虚构'
},
tooltip : {//提示框 坐标轴触发
trigger: 'axis'
},
legend: {//图例组件
data:['最高气温','最低气温']
},
toolbox: {//工具箱
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},//数据视图(可更改为自己的样式)
magicType : {show: true, type: ['line', 'bar']},//视图切换
restore : {show: true},//还原
saveAsImage : {show: true}//存为图片
}
},
calculable : true,
xAxis : [//x轴
{
type : 'category',
boundaryGap : false,
data : ['周一','周二','周三','周四','周五','周六','周日']
}
],
yAxis : [//y轴
{
type : 'value',
axisLabel : {
formatter: '{value} °C'
}
}
],
series : [//数据
{
name:'最高气温',
type:'line',
data:[11, 11, 15, 13, 12, 13, 10],
markPoint : {
data : [
{type : 'max', name: '最大值'},
{type : 'min', name: '最小值'}
]
},
markLine : {
data : [
{type : 'average', name: '平均值'}
]
}
},
{
name:'最低气温',
type:'line',
data:[1, -2, 2, 5, 3, 2, 0],
markPoint : {
data : [
{name : '周最低', value : -2, xAxis: 1, yAxis: -1.5}
]
},
markLine : {
data : [
{type : 'average', name : '平均值'}
]
}
}
]
};
})
-----原创文章,©版权所有,转载请注明标明出处:http://www.cnblogs.com/doinbean
angularf封装echarts的更多相关文章
- react-native中使用Echarts,自己使用WebView封装Echarts经验
1.工作中遇到的问题 我们在使用react-native肯定遇到过各种奇葩的问题,比如引入Echarts时候莫名报错,但是Echarts官网明显告诉我们可以懒加载的,这是因为基本上js大部分原生的组件 ...
- vue学习【一】vue引用封装echarts并展示多个echarts图表
大家好,我是一叶,经过一段时间对vue的学习,我打算把vue做一个系列,把踩过的坑和大家分享一下. 现在开始第一章:vue引用并封装echarts 在文章开始前,我先舔波echarts(真香).阿里的 ...
- 在vue项目中封装echarts的正确姿势
为什么需要封装echarts 每个开发者在制作图表时都需要从头到尾书写一遍完整的option配置,十分冗余 在同一个项目中,各类图表设计十分相似,甚至是相同,没必要一直做重复工作 可能有一些开发者忘记 ...
- 使用angular封装echarts
Echarts是一个开源的图表组件,图表比较丰富,工作中需要用到它来搭建一个数据展示系统.但是系统原有的框架是基于angular的,而echarts是基于原生js的,如果直接使用的话就丢失了angul ...
- 封装Echarts
项目中需要对数据进行图形展示,例如展示柱状图.饼状图等.这类的前端展示脚本很多,常见的是HighCharts和Echarts.HighCharts是基于svg技术的,而echarts基于Echarts ...
- 【小程序】---- 封装Echarts公共组件,遍历图表实现多个饼图
一.问题描述: 在小程序的项目中,封装公共的饼图组件,并在需要的页面引入使用.要求一个页面中有多个饼图,动态渲染不同的数据. 二.效果实现: 1. 查看——小程序使用Echarts的方式 2. 封装饼 ...
- Vue + Element-ui实现后台管理系统(4)---封装一个ECharts组件的一点思路
封装一个ECharts组件的一点思路 有关后台管理系统之前写过三遍博客,看这篇之前最好先看下这三篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system ...
- NodeJS + React + Webpack + Echarts
最近画了个简单的前端图,使用百度的echarts,基于原来项目的NodeJS+React+Webpack框架.在此记录一下: 1. 在react里封装echarts组件,并调用后端API. (参考的 ...
- 对echarts的简单封装
看了echarts的官网介绍:http://echarts.baidu.com/doc/example.html 看了网上人使用js对echarts的封装:http://blog.csdn.net/x ...
随机推荐
- 机器学习,安装python的支持包
windows10,64位: 以下命令行安装均在python目录下,对应的whl文件也被我拷贝到python目录下: http://www.lfd.uci.edu/~gohlke/pythonlibs ...
- C#自动实现Dll(OCX)控件注册的两种方法
尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通 ...
- Qemu 简述
Qemu 架构 Qemu 是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬 ...
- 深入理解CSS盒模型
如果你在面试的时候面试官让你谈谈对盒模型的理解,你是不是不知从何谈起.这种看似简单的题其实是最不好答的. 下面本文章将会从以下几个方面谈谈盒模型. 基本概念:标准模型 和IE模型 CSS如何设置这两种 ...
- 一个Win32API Trace Tool的设计与实现
用VC编程也有不短的时间了,对kernel32.advapi32.user32.gdi32等动态库里的API多数都已经很熟悉了.API是操作系统提供给应用程序的一组服务,很久以前就想要做个小工具,用来 ...
- 轻松学习 JavaScript——第 6 部分:JavaScript 箭头函数
JavaScript箭头函数是ECMAScript 6中引入的编写函数表达式的一种简便方法.通常,在JavaScript中,可以通过两种方式创建函数: 函数语句. 函数表达式. 可以如下所示创建函数语 ...
- Linux上安装和卸载mysql数据库 (一)
一.前言 第一次写博客,很激动同时有点畏惧,激动是我可以将我的经验进行分享,畏惧是我怕我写的东西,大家借鉴的时候,有些步骤不能成功.不过,我还是很有信息的,我分享的经验都是我搭建成功以后才分享出来.这 ...
- Android APK反编译 apktool使用教程
2017年棋牌游戏突然就火了,正所谓春江水暖鸭先知本猿处在软件行业中就能清晰的感受到市场的变化,最近老家那边也是玩的风生水起,于是最近闲暇时光想到反编译下这些棋牌软件,看看代码实现的思路 (注:反编译 ...
- python实战--数据结构二叉树
此文将讲述如何用python实战解决二叉树实验 前面已经讲述了python语言的基本用法,现在让我们实战一下具体明确python的用法 点击我进入python速成笔记 先看一下最终效果图: 首先我们要 ...
- java agent
cmd使用java -help可以看到关于agent参数: -agentlib:<libname>[=<选项>] 加载本机代理库 <libname>, 例如 -ag ...