<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. python安装与初识

    一.Linux基础 - 计算机以及日后我们开发的程序防止的服务器的简单操作 二.Python开发 http://www.cnblogs.com/wupeiqi/articles/5433893.htm ...

  2. java逻辑运算&&与&的区别

    本文主要阐述&&(短路与)和&(逻辑与)的运算异同:a && b 和 a&b : 共同之处是只有a和b同时为真时,结果才为真,否则为假 不同点在于 a ...

  3. vue实现移动端左右菜单双向联动效果

    话不多说,上demo <template> <div id="app"> <header>左右列表双向联动</header> < ...

  4. 【机器学习】李宏毅——Flow-based Generative Models

    前文我介绍了部分关于生成学习的内容,可以参考我这篇博文点此 前面介绍的各个生成模型,都存在一定的问题: 对于PixelRNN这类模型来说,就是从左上角的像素开始一个个地进行生成,那么这个生成顺序是否合 ...

  5. Linux基础第一章 概述

    第一章 概述 1.1 前言 本章讨论系统的概念,从硬件.操作系统角度更加深刻的理解计算机系统,并快速浏览Linux系统提供的服务. 1.2 系统组成     1.3 操作系统和应用程序 操作系统这个词 ...

  6. C++进阶(智能指针)

    智能指针原理 C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理.程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引入了智能指针的 ...

  7. 2.PyQt5【窗口组件】对话框-Dialog

    一.前言 QDialog 类是对话框窗口的基类.对话框窗口是主要用于短期任务以及和用户进行简要 通讯的顶级窗口.QDialog 可以是模态对话框也可以是非模态对话框.QDialog 支持扩展性并 且可 ...

  8. 2023牛客寒假算法基础集训营1 ACDEFGHKLM

    比赛链接 A 题解 知识点:模拟. 显然. (用char输入到一半直接给答案跳出,WA了两小时,无话可说. 时间复杂度 \(O(1)\) 空间复杂度 \(O(1)\) 代码 #include < ...

  9. strapi系列-如何创建一个定时任务-Cron Jobs

    Cron 是什么? Cron 有多种用途. Cron Jobs 用于安排服务器上的任务运行.它们最常用于自动化系统管理或维护.然而,它们也与 Web 应用程序的构建相关. Web 应用程序可能需要在各 ...

  10. Nodejs后端自动化测试

    偶然看到收藏一下 const puppeteer = require('puppeteer'); const fs = require('fs'); (async () => { const b ...