1)项目中作为项目依赖,安装到项目当中(注意必须要结合echars)

npm install echarts vue-echarts --save
npm install echarts-liquidfill --save

2)在需要使用水晶球的组件里引入liquidFill.js

import 'echarts-liquidfill/src/liquidFill.js'; //在这里引入

3)在模板中加入挂载水晶球的DOM节点

<div id="myChartWhater" :style="{width: '340px', height: '220px',}"></div>

4)在方法methods中添加liquidFill调用方法,如
 

在data中先定义:score: 0.8,healthyName: "良好",
  initWater() {
let value = this.score; let myChart = this.echarts.init(document.getElementById("myChartWhater")); let colorScore = this.score * ;
let colorList = [];
if (colorScore >= ) {
let color1 = "rgb(45,224,1135)";
let color2 = "rgb(74,227,141)";
colorList.push(color1);
colorList.push(color2);
} else if (colorScore >= && colorScore < ) {
let color1 = "rgb(41,145,235)";
let color2 = "rgb(0,137,255)";
colorList.push(color1);
colorList.push(color2);
} else if (colorScore >= && colorScore < ) {
let color1 = "rgb(219,185,246)";
let color2 = "rgb(253,208,0)";
colorList.push(color1);
colorList.push(color2);
} else if (colorScore < ) {
let color1 = "rgb(207,74,84)";
let color2 = "rgb(243,17,34)";
colorList.push(color1);
colorList.push(color2);
}
var data = [];
data.push(value);
data.push(value);
myChart.setOption({
backgroundColor: "white", //容器背景颜色
title: {
text: "",
textStyle: {
fontWeight: "normal",
fontSize: ,
color: "rgb(97, 142, 205)"
}
},
series: [
{
type: "liquidFill",
radius: "80%", //水球的半径
data: data,
backgroundStyle: {
color: "white"
},
label: {
normal: {
formatter:
"{a|" +
(value * ).toFixed() +
"}" +
" " +
"\n" +
"\n" +
"{b|" +
this.healthyName +
"}",
textStyle: {
fontSize: //字体大小
},
position: ["50%", "50%"],
rich: {
//富文本 对字体进一步设置样式。a对应的value,b对应的healthyName
a: {
fontSize: ,
lineHeight: ,
fontWeight: "bold",
padding: [, , , ]
},
b: {
fontSize: ,
lineHeight: ,
fontWeight: "bold"
}
}
}
},
outline: {
show: true, //是否显示轮廓 布尔值
borderDistance: , //外部轮廓与图表的距离 数字
itemStyle: {
borderColor: "#edf2f6", //边框的颜色
borderWidth: //边框的宽度
}
},
color: [...colorList]
}
]
});
}
5)在mounted(){}中调用 initWater方法
页面完成效果如:
大功告成!!!!
 
 

  

如何实现动态水球图 --》 echars结合echarts-liquidfill实现的更多相关文章

  1. 使用echarts水球图

    使用echarts水球图 官方实例中没有水球图样式,当我们需要用到水球图的时候需要下载echarts-liquidfill.js. 使用 在echarts之后引入 echarts-liquidfill ...

  2. echarts水球图编写

    // 前提条件 需要引入这个插件<script src="./echarts-liquidfill.min.js"></script> // 代码 let ...

  3. 【带着canvas去流浪(7)】绘制水球图

    目录 一. 任务说明 二. 重点提示 三. 示例代码 四. 文字淹水效果的实现 五. 关于canvas抗锯齿 六. 小结 示例代码托管在:http://www.github.com/dashnowor ...

  4. 带着canvas去流浪系列之七 绘制水球图

    [摘要] 用原生canvasAPI实现百度echarts 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...

  5. v-charts 绘制柱状图、条形图、水球图、雷达图、折线图+柱状图,附官网地址

    v-charts 官网地址:https://v-charts.js.org/#/ 柱状图: <template> <ve-histogram :data="chartDat ...

  6. UML动态模型图简单介绍

    UML动态模型图描述了系统动态行为的各个方面,包括用例图.序列图.协作图.活动图和状态图.下面就每种图做一个简单介绍: 用例图 用例图描述系统外部的执行者与系统提供的用例之间的某种联系.所谓用例是指对 ...

  7. Heatmap.js v2.0 – 最强大的 Web 动态热图

    Heatmap 是用来呈现一定区域内的统计度量,最常见的网站访问热力图就是以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域的图示.Heatmap.js 这个 JavaScript 库可以实现 ...

  8. 【BZOJ-2879】美食节 最小费用最大流 + 动态建图

    2879: [Noi2012]美食节 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1366  Solved: 737[Submit][Status] ...

  9. Python学习-使用matplotlib画动态多图

    最近常常使用matplotlib进行数学函数图的绘制,可是怎样使用matplotlib绘制动态图,以及绘制动态多图.直到今天才学会. 1.參考文字 首先感谢几篇文字的作者.帮我学会了怎样绘制.大家也能 ...

随机推荐

  1. 安装运行redis

    在Linux系统上安装Redis 环境准备 Redis是C语言开发,建议在Linux上运行,本人系统centos-6.5. 安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有g ...

  2. 北京师范大学第十五届ACM决赛-重现赛J Just A String (kmp算法延伸)

    链接:https://ac.nowcoder.com/acm/contest/3/J 来源:牛客网 Just A String 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...

  3. 八、ARM 汇编程序格式和程序控制

    8.1 汇编程序格式 源程序中的语句可以分为两种类型:指令性语句.指示性语句 指示性语句就是一些伪操作,在 MDK 编译环境下的伪操作有下面几种: 符号定义伪操作 数据定义伪操作 汇编控制伪操作 其他 ...

  4. x86-x64寄存器及CallStack调用栈

    Intel 32位体系结构(简称IA32)处理器包含8个通用寄存器,如下图所示: EIP是指令寄存器,指向处理器下条等待执行的指令地址(代码段内的偏移量),每次执行完相应汇编指令EIP值就会增加.EI ...

  5. 如何提高SMTP邮件的安全性?从而不被黑客窃听

    简单邮件传输协议(SMTP)用于在邮件服务器之间进行邮件传输,并且传统上是不安全的,因此容易被黑客窃听.命名实体的基于DNS的认证(国家统计局)用于SMTP提供了邮件传输更安全的方法,并逐渐变得越来越 ...

  6. IPv6是未来趋势?部署IPv6有什么技术障碍?

    没有人在用IPv6?我相信有很多人在谈话中听到了类似的内容,虽然很难说服这些人,越来越多的组织正在部署IPv6,特别是当采用率在20岁时如此缓慢到目前为止存在的一年,这些实例至少让我有机会让他们再次思 ...

  7. redis数据库的set去重操作

    一:业务需求  用户名存储之前进行去重判断 方法一:使用redis的set集合进行去重判断 keys * 查看所有的键 type 键名 查看对应的数据类型 sadd set a b c 往set集合里 ...

  8. Android PdfViewer案例使用

    今天按项目要求找了一个android的PDF控件,各种操作效果都非常好,在这里和大家分享一下. com.joanzapata.pdfview:android-pdfview  该PDF控件加载大存储的 ...

  9. Vue刷新token,判断token是否过期

    1.判断token是否过期,前端请求后,后台会返回一个状态给你.根据状态判断是否过期,刷新token 2.是否每次请求后端都会返回新的token给你.或者后端给你定义了一个刷新token的方法,那此时 ...

  10. jq元素左边距

    获取页面某一元素的绝对X,Y坐标,可以用offset():var X = $(‘#DivID’).offset().top;var Y = $(‘#DivID’).offset().left; 获取相 ...