<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. 过两年 JVM 可能就要被 GraalVM 替代了

    大家好,我是风筝,公众号「古时的风筝」,专注于 Java技术 及周边生态. 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面. 今天说一说 Graal ...

  2. 痞子衡嵌入式:低功耗&高性能边缘人工智能应用的新答案 - MCXN947

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦MCX系列MCU的新品MCXN947. 自 2015 年恩智浦和飞思卡尔合并成新恩智浦之后,关于它们各自的 Arm Cortex- ...

  3. python 之将xmind转为excel用例文件

    1.xmind文件模板如下所示(最后一个子级为预置条件) 2.excel用例模板 3.获取xmind文件数据并转成字典形式 from xmindparser import xmind_to_dict ...

  4. uniapp中请求接口问题

    在main.js文件中配置: //Vue.prototype.$baseUrl="http://192.168.1.164/api" //线下接口 Vue.prototype.$b ...

  5. .Net 7 的AOT的程序比托管代码更容易破解?

    楔子 .Net 7的一个重要功能是把托管的源码编译成Native Code,也就是二进制文件.此举看似增加了程序反编译难度,实际上是减少了程序的破解难度.本篇在不触及整个程序架构的前提下,以简单的例子 ...

  6. [论文总结] Genecology and Adaptation of Forest Trees 林木的基因生态学与适应性

    文章目录 介绍 进化的力量 基因学方法 种源试验 短期基因检测实验 表型与遗传估计 差异化 基因学趋势 预测对气候变化的反应 介绍 基因生态学是研究种内遗传变异与环境条件的关系.它揭示了种群适应环境的 ...

  7. Hadoop详解(10) - Hadoop HA高可用

    Hadoop详解(10) - Hadoop HA高可用 HA概述 HA(High Availablity),即高可用(7*24小时不中断服务). 实现高可用最关键的策略是消除单点故障.HA严格来说应该 ...

  8. python之路27 单例模式实现方式、pickle模块、选课系统目录搭建

    单例模式实现的多种方式 单例1:(提前定义一个名字) class C1: __instance = None def __init__(self,name,age): self.name = name ...

  9. JS逆向之补环境过瑞数详解

    JS逆向之补环境过瑞数详解 "瑞数" 是逆向路上的一座大山,是许多JS逆向者绕不开的一堵围墙,也是跳槽简历上的一个亮点,我们必须得在下次跳槽前攻克它!! 好在现在网上有很多讲解瑞数 ...

  10. KingbaseES集群故障分析案例

    某商业银行生产系统KingbaseES读写分离集群主库出现故障,导致集群主备发生切换.客户要求说明具体的原因. KingbaseES读写分离集群基本信息: KingbaseES集群信息 操作系统 Li ...