<div class="ringlike-chart" echarts [options]="options" (chartInit)="onChartInitOne($event)"></div>
 
// 初始化
public onChartInitOne(value: any): void {
    this.qualityControlBar = value;
}
 
// 值更新的时候重新set
this.qualityControlBar.setOption(this.options, true);


public options = {
backgroundColor: '#fff',
title: { // 标题
text: '漏诊改善趋势',
padding: [5, 0, 12, 30],
textStyle: {
color: '#000000',
fontStyle: 'normal',
fontWeight: 500,
fontFamily: 'Source Han Sans CN',
fontSize: 16,
},
},
tooltip: { // 悬浮提示
trigger: 'axis',
formatter: (params: any) => {
return this.tooltipFormatter(params);
},
},
legend: { // 头部说明
icon: 'rect',
itemHeight: 2,
itemWidth: 16,
x: 'left',
y: 'top',
padding: [40, 0, 0, 30],
textStyle: {
fontSize: '12px',
},
data: []
},
grid: { // 图的布局
left: '3%',
right: '4%',
bottom: '10%',
top: '25%',
containLabel: true
},
toolbox: { // 是否显示下载
feature: {
saveAsImage: {
show: false
}
}
},
dataZoom: [{
type: 'slider',
show: true,
xAxisIndex: [0],
left: '9%',
bottom: 0,
start: 10,
end: 90, // 初始化滚动条
height: 14,
}],
xAxis: {
type: 'category',
boundaryGap: false,
data: [
]
},
yAxis: {
type: 'value',
min: 0, // 配置 Y 轴刻度最小值
max: 100, // 配置 Y 轴刻度最大值
splitNumber: 5, // 配置 Y 轴数值间隔
splitLine: {
show: true,
lineStyle: {
type: 'dashed',
},
},
axisLabel: {
formatter: (res) => {
if (res === 0) {
return 0;
}
return res + '%';
},
},
axisLine: { show: false },
axisTick: { show: false }
},
series: [
]
};

// 此处修改悬浮展示内容
  public tooltipFormatter(params: any): string {
    const arr = [];
    if (params instanceof Array) {
      const flag = params.every((item: any) => {
        if (typeof item.data === 'undefined') {
          return item;
        }
      });
      if (flag) {
        return '';
      }
      params.forEach((item: any) => {
        const span = `<span style="width:10px;height:10px;display:inline-block;background:${item.color};margin-right:4px;border-radius:50%;"></span>`;
        const value1 = item.value ? item.value + '%' : '0.00%';
        const div1 = `<div style="text-align:right;margin-left:20px;">${value1}</div>`;
        const div2 = `<div>${span}${item.seriesName}</div>`;
        const div3 = `<div style="line-height:20px;display:flex;justify-content: space-between;min-width:200px;">${div2}${div1}</div>`;
        const tmp: string = `${div3}`;
        arr.push(tmp);
      });
    }
    arr.unshift(`<div>${params[0].axisValueLabel}<div>`);
    return arr.join('\n');
  }
 

angular中echart的使用的更多相关文章

  1. Angular中ngCookies模块介绍

    1.Cookie介绍 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短 ...

  2. angular 中父元素ng-repeat后子元素ng-click失效

    在angular中使用ng-repeat后ng-click失效,今天在这个上面踩坑了.特此记录一下. 因为ng-repeat创造了新的SCOPE.如果要使用这个scope的话就必须使用$parent来 ...

  3. angular中的compile和link函数

    angular中的compile和link函数 前言 这篇文章,我们将通过一个实例来了解 Angular 的 directives (指令)是如何处理的.Angular 是如何在 HTML 中找到这些 ...

  4. Deferred在jQuery和Angular中的使用与简单实现

    Deferred在jQuery和Angular中的使用与简单实现 Deferred是在jQuery1.5版本中加入的,并且jQuery使用它完全重写了AJax,以前也只是偶尔使用.但是上次在使用Ang ...

  5. angular源码分析:angular中脏活累活的承担者之$interpolate

    一.首先抛出两个问题 问题一:在angular中我们绑定数据最基本的方式是用两个大括号将$scope的变量包裹起来,那么如果想将大括号换成其他什么符号,比如换成[{与}],可不可以呢,如果可以在哪里配 ...

  6. angular源码分析:angular中入境检察官$sce

    一.ng-bing-html指令问题 需求:我需要将一个变量$scope.x = '<a href="http://www.cnblogs.com/web2-developer/&qu ...

  7. angular源码分析:angular中脏活累活承担者之$parse

    我们在上一期中讲 $rootscope时,看到$rootscope是依赖$prase,其实不止是$rootscope,翻看angular的源码随便翻翻就可以发现很多地方是依赖于$parse的.而$pa ...

  8. angular源码分析:angular中$rootscope的实现——scope的一生

    在angular中,$scope是一个关键的服务,可以被注入到controller中,注入其他服务却只能是$rootscope.scope是一个概念,是一个类,而$rootscope和被注入到cont ...

  9. angular中自定义依赖注入的方法和decorator修饰

    自定义依赖注入的方法 1.factory('name',function () { return function(){ } }); 2.provider('name',function(){ thi ...

  10. 在checkbox中使用.prop; angular中属性的值使用变量问题

    1.在checkbox中使用.prop而不使用.attr ,.attr有时并不如愿的改变checkbox的打钩问题 给这个checkbox设置return  false就能阻止点击则改变状态的默认行为 ...

随机推荐

  1. tomcat下找不到运行的程序文件

    1.重新部署tomcat(删掉原有的tomcat) 2.更改部署路径

  2. Redis学习整理

    目录 1.Redis基本概念 2.Redis的5种基本类型 3.Jedis整合redis操作 4.Springboot整合redis 5.Redis主从复制 5.1.概念 5.2.原理 6.开启主从复 ...

  3. 【ASP.NET Core】按用户等级授权

    验证和授权是两个独立但又存在联系的过程.验证是检查访问者的合法性,授权是校验访问者有没有权限查看资源.它们之间的联系--先验证再授权. 贯穿这两过程的是叫 Claim 的东东,可以叫它"声明 ...

  4. 道长的算法笔记:KMP算法及其各种变体

    (一)如何优化暴力算法 Waiting... (二)KMP模板 KMP 算法的精髓在于 \(next\) 数组,\(next[i]=j\) 代表 \(p[1,j]=p[i-j+1,i]\),\(nex ...

  5. 光速上手k8s(2023)(containerd)(未完待续)

    又过了好久没写了,主要是近来状况也无聊 一.了解概念(参考) 概念 Kubernetes 是一个可移植.可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化. Kubernete ...

  6. 蚂蚁感冒【第五届蓝桥杯省赛C++A/B组】

    蚂蚁感冒 长 \(100\) 厘米的细长直杆子上有 \(n\) 只蚂蚁. 它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方 ...

  7. Java基础篇——垃圾收集详解

    JAVA垃圾收集 1.如何判断对象死亡 说道垃圾回收,那么首要问题就是jvm如何判断一个对象已经死亡呢 1.1 引用计数法 说白了,就是为每个对象设立一个引用计数器,每当有一个引用指向它,计数器加一, ...

  8. NET-Core利用etag进行浏览器缓存

    title: .NET Core浏览器缓存方案 date: 2022-12-02 14:17:36 tags: - .NET 缓存介绍及方案 在后端开发中经常会使用缓存来提高接口的响应速度,降低系统的 ...

  9. Qt界面设计--侧边栏隐藏和滑出

    在日常项目中,界面布局上经常使用到侧边栏的方式,在侧边栏放置控件进行复合使用,可以实现子功能界面的隐藏和滑出,效果展示如下: 界面控件很简单,主界面QWidget,侧边栏也用一个QWidget和一个按 ...

  10. Spring Cloud服务发现组件Eureka

    简介 Netflix Eureka是微服务系统中最常用的服务发现组件之一,非常简单易用.当客户端注册到Eureka后,客户端可以知道彼此的hostname和端口等,这样就可以建立连接,不需要配置. E ...