绘制echarts-liquidfill水球图

news2024/12/29 10:23:43

文章目录

  • 一、效果图
  • 二、步骤
    • 1.安装插件
    • 2.引入
    • 2.主要代码
    • 2.素材图片
  • 总结


一、效果图

在这里插入图片描述

二、步骤

1.安装插件

npm install echarts
npm install echarts-liquidfill

echarts@5的版本与echarts-liquidfill@3兼容,echarts@4的版本与echarts-liquidfill@2兼容,安装的时候需要注意

2.引入

import * as echarts from 'echarts';
import 'echarts-liquidfill'

2.主要代码

代码如下(示例):

<template>
	<div class="containerClass">
		<div class="centerPie"></div>
	    <div class="boxChart">
	      <div class="boxChart-text">
	        <div>
	          <span class="span1">{{mbwcl}}</span>
	          <span class="span1" style="font-size: 30px">%</span>
	        </div>
	        <div>
	          <span class="span2">目标完成率</span>
	        </div>
	      </div>
	      <div style="width: 100%;height: 100%" ref="myChart"></div>
	    </div>
	</div>
</template>
<script>
import  * as echarts  from 'echarts'
import 'echarts-liquidfill'
export default {
  name: "part_center",
  data(){
    return{
      myChart:null,
      //水球图数据
      mbwcl:23.14,
    }
  },
  mounted() {
    if (this.myChart) {
      this.myChart.dispose()
    }
    setTimeout(()=> {
      this.$nextTick(()=>{
        this.drawChart(this.mbwcl)
      })
    },100)
  },
  methods:{
    drawChart(val){
      this.myChart = echarts.init(this.$refs.myChart)
      let value = val / 100
      let option = {
        series: [
          {
            type: 'liquidFill',
            radius: '85%',
            center: ['50%', '50%'],
            color: [
              {
                type: "linear",
                x: 0,
                y: 1,
                x2: 0,
                y2: 0,
                colorStops: [
                  {
                    offset: 1,
                    color: ["rgba(2,144,255,0.4)"], // 0% 处的颜色
                  },
                  {
                    offset: 0,
                    color: ["rgba(45,175,230,0.8)"], // 100% 处的颜色
                  },
                ],
                global: false, // 缺省为 false
              },
            ],
            data: [value, value, value], // data个数代表波浪数
            amplitude: 15,
            // 图形样式
            itemStyle: {
              opacity: 1, // 波浪的透明度
              shadowBlur: 0, // 波浪的阴影范围
            },
            backgroundStyle: {
              borderWidth: 2,
              borderColor: 'transparent',
              color: 'transparent',
            },
            label: {
              show: false,
              textStyle: {
                color: '#5594fa',
                insideColor: '#12786f',
                fontSize: 40,
              },
              formatter: (params) => {
                return `${(params.value * 100).toFixed(2)}%`;
              },
            },
            outline: {
              show: false,
            },
          },
        ],
      }
      this.myChart.setOption(option)
    },
  }
}
</script>
<style scoped lang="less">
.containerClass{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: '#061530';
  .centerPie{
    position: absolute;
    top: 18px;
    left: calc((100% - 358px) / 2);
    width: 358px;
    height: 356px;
    background: url("../img/组54820.png");
    background-size: 100% 100%;
  }
  .boxChart{
    position: absolute;
    top: 47px;
    left: calc((100% - 300px) / 2);
    width: 300px;
    height: 300px;
    //background: transparent;
    .boxChart-text{
      position: absolute;
      width: 300px;
      height: 300px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      z-index: 20;
      text-align: center;
      .span1{
        font-size: 48px;
        font-family: DingTalk-JinBuTi;
        font-weight: bold;
        background-image: linear-gradient(to bottom, #fff, #7dd1ff);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
      }
      .span2{
        font-size: 22px;
        color: #fff;
      }
    }
  }
}
</style>

2.素材图片

在这里插入图片描述


总结

这个仅仅只是简单的一个例子,如果要完成更复杂的功能,可以在echarts社区里面找,网址在我前面分享的前端网站那个文章里面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1995912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring I

1. IoC & DI ⼊⻔ 1.1 Spring 是什么&#xff1f; 通过前⾯的学习, 我们知道了Spring是⼀个开源框架, 他让我们的开发更加简单. 他⽀持⼴泛的应⽤场 景, 有着活跃⽽庞⼤的社区, 这也是Spring能够⻓久不衰的原因. 但是这个概念相对来说, 还是⽐较抽象. 我们⽤⼀句更具体的…

C++中的搜索二叉树模拟实现代码

包含的功能&#xff1a;插入、删除、查找、中序遍历&#xff08;排列大小&#xff09; 代码&#xff1a;

Linux 内核源码分析---proc 文件系统

proc文件系统 进程数据文件系统&#xff08;process data filesystem, procfs&#xff09;装载在 /proc&#xff0c;缩写为 procFS。 proc 文件系统是一种虚拟文件系统&#xff0c;其信息不能从块设备读取。只有在读取文件内容时才动态生成相应的信息。使用proc文件系统&…

WPF篇(7)- Control基类+ContentControl类(内容控件)+ButtonBase基类

前面给大家介绍完了WPF所有的布局控件&#xff0c;属性以及使用案例&#xff0c;从这里咱们就开始学下内容控件。 Control基类 Control是许多控件的基类。比如最常见的按钮&#xff08;Button&#xff09;、单选(RadioButton)、复选&#xff08;CheckBox&#xff09;、文本框…

【JavaEE初阶】JUC(java.uitl.concurrent)的常见类

&#x1f334;Callable 接口 之前讲到Runnable接口&#xff0c;用于描述一个任务&#xff0c;通过Runnable中的run方法来体现的&#xff0c;但是描述的任务没有返回值&#xff08;run方法是返回void&#xff09;&#xff0c;此处的Callable接口与Runnable接口类似&#xff0c;C…

LLVM理论篇之编译器前端

1、简述 LLVM前端通过对源程序的预处理&#xff0c;构成源程序的字符流扫描与分解&#xff0c;将单词序列提取为各类语法短语&#xff0c;生成抽象语法树&#xff0c;最终转换为中间代码。编译器前端包含的这几个过程如下&#xff1a; &#xff08;1&#xff09;预编译 &…

【python】实现对文件夹中的图像连续重命名方法

import os import shutildef rename_images(input_folder):# 获取输入文件夹下的所有图片文件&#xff08;假设都是.jpg格式&#xff09;image_files [f for f in os.listdir(input_folder) if os.path.isfile(os.path.join(input_folder, f)) and f.endswith(".jpg"…

性能测试工具LoadRunner

前言&#x1f440;~ 上一章我们介绍了性能测试的一些基本概念&#xff0c;重要的是性能测试的各项指标&#xff0c;今天我们使用性能测试工具LoadRunner简单的完成一次性能测试 性能测试Load Runner LoadRunner是什么&#xff1f; LoadRunner安装 LoadRunner脚本录制 1.录…

振弦式钢筋计的主要应用领域有哪些?

在现代工程建设中&#xff0c;钢筋作为重要的结构材料&#xff0c;其应力状态直接关系到工程结构的安全性和稳定性。因此&#xff0c;对钢筋应力的实时监测成为了保障工程质量的关键环节。振弦式钢筋计作为一种高精度、稳定性好的应力监测仪器&#xff0c;在桥梁、建筑、隧道等…

pg一些常用语句记录

查看数据库大小 pg_size_pretty:将数据库用量展示为KB、MB、GB等样式,查看更直观查看具体某个数据库的大小 select pg_size_pretty(pg_database_size(postgres)); 查看所有数据库的大小 select pg_database.datname, pg_size_pretty (pg_database_size(pg_database.datnam…

Sqli-labs-master靶场--布尔盲注

目录 1、布尔盲注 2、布尔盲注的流程&#xff08;以靶场less-8为例&#xff09; 2.1输入id尝试是否存在注入点 2.1.1通过以上尝试&#xff0c;联想到可能是布尔盲注 2.2猜测数据库长度 2.3获取数据库名 2.3.1python脚本获取 代码&#xff1a; 获取结果为&#xff1a; …

后期调色学习笔记

关于调色曲线的学习&#xff1a; 学习链接&#xff1a;一看就懂的曲线调色教程【手机摄影后期】_哔哩哔哩_bilibili 从左向右就是由暗部越来越到亮部 越靠近右侧的越是亮部

机械学习—零基础学习日志(数学基础汇总1)

零基础为了学人工智能&#xff0c;正在艰苦的学习 我比较推荐&#xff0c;《三个月从零入门深度学习&#xff0c;保姆级学习路线图》的整体学习思路&#xff0c;但因为数学基础太差&#xff0c;而且针对所需的数学系统知识&#xff0c;我依然没有很明确的学习方向。 所以直接…

杀手级的AI LLM产品还有多久面世

AI产品落地&#xff1a;Killer App依然缺席的原因与未来展望 &#x1f680; 在当今科技领域&#xff0c;人工智能&#xff08;AI&#xff09;无疑正处于一个快速发展的阶段。尽管如此&#xff0c;关于AI产品的实际应用和市场落地&#xff0c;仍然存在诸多挑战。本文将探讨当前…

使用 Matplotlib 绘制折线图

使用 Matplotlib 绘制折线图 数据可视化是数据分析的重要组成部分&#xff0c;通过图表&#xff0c;我们可以更直观地理解数据背后的趋势和模式。Matplotlib 是 Python 最基础也是最常用的绘图库之一&#xff0c;非常适合初学者。本文将带你从零开始&#xff0c;逐步创建和自定…

Python Static Typing: 提升代码可靠性与可读性的使用技巧

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

Java毕业设计 基于SSM和Vue的酒店管理系统小程序

Java毕业设计 基于SSM和Vue的酒店管理系统小程序 这篇博文将介绍一个基于SSM框架和Vue开发的酒店管理系统微信小程序&#xff0c;适合用于Java毕业设计。 功能介绍 用户 登录 注册 忘记密码 首页 图片轮播 房间信息 房间详情 预订 收藏 评论 我的 订单信息 酒店管理…

Python 常用内置函数

目录 1、enumerate函数 1.1、for循环中使用 1.2、enumerate指定索引的起始值 1.3、enumerate在线程中的作用 2、Map 函数 2.1、map()函数可以传多个迭代器对象 3、lambda表达式&#xff08;匿名函数&#xff09; 示例 4、sort函数和sorted函数 4.1、sort()函数 4.2、…

vue2学习 -- vuex

文章目录 1. 理解2. 语法2.1 安装使用2.2 getters配置项2.3 四个map方法的使用2.4 vuex模块化 1. 理解 概念&#xff1a;专门在ue中实现集中式状态&#xff08;数据&#xff09;管理的一个ue插件&#xff0c;对vue应用中多个组件的共享状态进行集中式的管理&#xff08;读/写&…

Java基础 1. Java开发环境搭建

Java基础 1. Java开发环境搭建 文章目录 Java基础 1. Java开发环境搭建1.1. 常用的DOS命令1.1.1. 常用的Windows组合键:1.1.2. 常用的DOS命令:1.1.3. 批处理文件 1.2. 通用文本编辑快捷键1.2.1. Sublime Text文本编辑器的安装与使用安装中英文打开方式调整字体大小文件扩展名 1…