echarts环图配置

news2024/11/17 13:46:02

echarts环图配置

1、安装echarts

npm install echarts@4.9.0

2、页面引入echarts

import echarts from 'echarts';

3、应用

template片段

<div class="chart-wrap">
	<div id = "treeChart" style = "width: 180px; height:180px;" ></div>
	<div class="total" :style="{color: handleThemeColor(totlal).titleColor}">{{ totlal >= 8 ? '优秀' : totlal <= 3 ? '不及格' : '及格' }}</div>
</div>

script方法

showChart() {
    let myChart = echarts.init(document.getElementById('treeChart'));
    let value = this.totlal; //当前进度
    let maxValue = 10; //进度条最大值
    let startBg = this.circleColor.start;
    let endBg = this.circleColor.end;
    let option = {
        legend: {
            orient: 'vertical',
            x: 'left',
        },
        graphic: [
            //内容 + 位置
            {
                type: 'text',
                left: 'center',
                top: '30%',
                z: 2,
                zlevel: 100,
                style: {
                    text: '总得分',
                    textAlign: 'center',
                    fill: '#666666',
                    fontSize: 12,
                },
            },
            {
                type: 'text',
                left: 'center',
                top: '46%',
                z: 2,
                zlevel: 100,
                style: {
                    text: this.totlal,
                    textAlign: 'center',
                    fill: this.themeColor,
                    fontSize: 62,
                },
            },
        ],

        series: [
            // 进度条
            {
                startAngle: 210,
                type: 'pie',
                radius: ['72%', '100%'],
                labelLine: {
                    normal: {
                        show: false,
                    },
                },
                hoverAnimation: false, //鼠标悬浮是否有区域弹出动画,false:无 true:有
                avoidLabelOverlap: false,
                silent: true, //取消鼠标移入高亮效果: 不响应和触发鼠标事件
                animationEasing: 'cubicOut',
                data: [
                    //value当前进度 + 颜色
                    {
                        value: value,
                        itemStyle: {
                            //渐变颜色
                            color: {
                                type: 'linear',
                                x: 0,
                                y: 0,
                                x2: 0,
                                y2: 1,
                                colorStops: [
                                    {
                                        offset: 0,
                                        color: startBg, // 0% 处的颜色
                                    },
                                    {
                                        offset: 1,
                                        color: endBg, // 100% 处的颜色
                                    },
                                ],
                                global: false, // 缺省为 false
                            },
                        },
                    },
                    {
                        value: maxValue - value,
                        itemStyle: {
                            //渐变颜色
                            color: {
                                type: 'linear',
                                x: 0,
                                y: 0,
                                x2: 0,
                                y2: 1,
                                colorStops: [
                                    {
                                        offset: 0,
                                        color: '#eee', // 0% 处的颜色
                                    },
                                    {
                                        offset: 1,
                                        color: '#eee', // 100% 处的颜色
                                    },
                                ],
                                global: false, // 缺省为 false
                            },
                        },
                    },
                    //(maxValue进度条最大值 - value当前进度) + 颜色
                    {
                        value: 5,
                        itemStyle: {
                            // 径向渐变颜色
                            color: {
                                type: 'radial',
                                x: 1,
                                y: 1,
                                r: 1,
                                colorStops: [
                                    {
                                        offset: 0,
                                        color: '#eee', // 0% 处的颜色
                                    },
                                    {
                                        offset: 1,
                                        color: '#eee', // 100% 处的颜色
                                    },
                                ],
                                global: false, // 缺省为 false
                            },
                            borderColor: '#fff',
                            borderWidth: 6
                        },
                    },
                ],
            },
        ],
    };
    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
    //随着浏览器窗口大小改变而改变
    window.addEventListener('resize', function () {
        myChart.resize()
    })
}

css样式

.chart-wrap {
  position: absolute;
  right: 78px;
  top: -60px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #FFFFFF;
  overflow: hidden;
}

#treeChart {
  position: absolute;
  top: 10px;
  left: 10px;
}

.total {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 13px;

  font-size: 16px;
  font-weight: 500;
}

最终效果

在这里插入图片描述

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

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

相关文章

实现Map批量赋值,我只需24秒搞定!

函数的功能是将一组键值对批量赋值给Map中的键。在Java中&#xff0c;通常使用Map的put方法逐个将键值对赋值给Map&#xff0c;但在某些场景下&#xff0c;可能需要一次性将多个键值对赋值给Map。 函数功能&#xff1a;Map批量赋值 参数1&#xff1a;参数名称&#xff1a;targ…

VR全景广告——实体商家的营销新选择

前几年&#xff0c;大家出行不便&#xff0c;那个时候实体商家整天苦恼于没有客户&#xff0c;没有销量&#xff0c;一直到引入VR全景广告才算是有所好转。随着VR全景技术不断完善&#xff0c;许多行业、领域开始结合VR全景&#xff0c;例如景区、房地产、车企等都会利用VR全景…

如何防止僵尸 API...

人们越来越依赖Web API。2023 年 Postman API 状况报告发现&#xff0c;整整 92% 的组织计划在明年增加对 API 的投资。API 正在为从内部微服务策略到合作伙伴策略和成熟产品的一切提供动力。 然而&#xff0c;这种新发现的API 蔓延带来了后果&#xff1b;迫在眉睫的威胁可能会…

CSS:屏幕正中间有个元素A,元素A中有文字A,随着屏幕宽度的增加

始终需要满足以下条件&#xff1a; A元素垂直居中于屏幕***&#xff1b;A元素距离屏幕左右边距各10px&#xff1b;A元素里面的文字”A”的font-size:20px&#xff1b;水平垂直居中;A元素的高度始终是A元素宽度的50%; (如果搞不定可以实现为A元素的高度固定为200px;)请用 html及…

【产线故障】线上接口请求过慢如何排查?

文章目录 前言一、内存使用过高导致CPU满载案例代码分析思路 二、出现了类似死循环导致cpu负载案例代码分析思路 三、死锁案例代码分析思路 前言 首先线上接口变慢&#xff0c;原因可能有很多&#xff0c;有可能是网络&#xff0c;有可能是慢 SQL&#xff0c;有可能是服务本身…

3种轻量化框架总结

一般的卷积神经网络的参数量和计算量都很大&#xff0c;很难应用在资源有限的场景中。为了解决这个问题&#xff0c;通常是在训练好的模型上进行优化&#xff0c;如通过对模型压缩减少计算量和存储成本&#xff0c;也可以通过剪枝连接方法去掉了不重要的神经元连接或者通道修剪…

SecureCRT9.1高亮配色设置

参考:http://zh-cjh.com/qita/1623.html https://download.csdn.net/download/qq_45698138/88310255?spm1001.2014.3001.5503 1.创建文件colorful-network.ini,添加如下内容 D:"Match Case"00000000 D:"Regex Line Mode"00000000 Z:"Keyword Lis…

C语言学习:6、C语言程序的循环结构

生活中&#xff0c;有很多循环的东西&#xff0c;比如钟表就是在1到12循环&#xff0c;太阳东升西落也是循环&#xff0c;春夏秋冬也是循环&#xff0c;人生可能也是一个循环。 while C语言中的循环可以这么描述&#xff1a;当某个条件成立&#xff0c;就一直做某件事或某些事…

微信小程序开发---基本组件的使用

目录 一、scroll-view &#xff08;1&#xff09;作用 &#xff08;2&#xff09;用法 二、swiper和swiper-item &#xff08;1&#xff09;作用 &#xff08;2&#xff09;用法 三、text &#xff08;1&#xff09;作用 &#xff08;2&#xff09;使用 四、rich-tex…

煤矿虚拟仿真 | 采煤工人VR虚拟现实培训系统

随着科技的发展&#xff0c;虚拟现实(VR)技术已经逐渐渗透到各个行业&#xff0c;其中包括煤矿行业。VR技术可以为煤矿工人提供一个安全、真实的环境&#xff0c;让他们在虚拟环境中进行实际操作和培训&#xff0c;从而提高他们的技能水平和安全意识。 由广州华锐互动开发的采煤…

如何解决基因行业海量数据传输难题?镭速传输给出答案

基因大数据是指通过基因测序、分析和应用所产生的海量数据&#xff0c;它揭示了生命的奥秘和规律&#xff0c;对于科学研究、医疗健康、生物产业等领域具有重要的价值和意义。 随着高通量测序技术的进步&#xff0c;基因大数据的产量呈现爆炸式增长&#xff0c;预计到 2025 年…

算法笔记--最大连续1的个数Ⅲ

leetcode题目链接:1004. 最大连续1的个数 III 题目描述 给定一个二进制数组 nums 和一个整数 k&#xff0c;如果可以翻转最多 k 个 0 &#xff0c;则返回 数组中连续 1 的最大个数 。 思路 这里可以转换思路&#xff0c;让题意更加明确:即&#xff0c;求一个最大连续区间…

pip安装报HTTPSConnectionPool错误解决方案

报错&#xff1a; 解决方案&#xff1a;添加-i https://pypi.tuna.tsinghua.edu.cn/simple/&#xff0c;这里是https&#xff0c;而不是http&#xff0c;网上很多为pip install gradio -i http://pypi.tuna.tsinghua.edu.cn/simple/导致未能成功。 正确为&#xff1a; pip in…

多元共进|2023 Google 开发者大会主旨演讲亮点回顾

2023 Google 开发者大会 今日正式拉开帷幕 一起回顾主旨演讲精华内容 收获技术新知&#xff0c;实现多元共进&#xff01; 主旨演讲亮点合集速览 &#xff08;KN recap视频&#xff09; 扫码前往官网 查看主旨演讲完整回放 Google 大中华区总裁陈俊廷首先上台分享&#x…

rrweb入门

rrweb 背景 rrweb 是 record and replay the web&#xff0c;是当下很流行的一个录制屏幕的开源库。与我们传统认知的录屏方式&#xff08;如 WebRTC&#xff09;不同的是&#xff0c;rrweb 录制的不是真正的视频流&#xff0c;而是一个记录页面 DOM 变化的 JSON 数组&#x…

文件上传漏洞-upload靶场13-16关 (图片木马-文件包含与文件上次漏洞)

文件上传漏洞-upload靶场13-16关 &#xff08;图片木马-文件包含与文件上次漏洞&#xff09; 简介 upload靶场到了第十三关&#xff0c;难度就直线上升了&#xff0c;在最后这7关中&#xff0c;包含了图片木马、竞争条件等上传技巧&#xff0c;这些漏洞的本质&#xff0c;都是…

算法:数组常见套路1---双指针、取模、打擂台法

一、数组的合并–双指针[快慢指针] 1、题目&#xff1a; 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺…

MybatisPlus(3)

前言&#x1f36d; ❤️❤️❤️SSM专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 一、查询投影&#x1f36d; 查询投影是指在查询操作中&#xff0c;只选择…

管理类联考——数学——汇总篇——知识点突破——数据分析——计数原理——排列组合——单排与环排

&#x1f451; 公式&#xff1a;—般地&#xff0c;n个不同元素作圆形排列&#xff0c;坐成圆形没有首尾之分&#xff0c;所以固定一人&#xff0c;共有 ( n − 1 ) ! (n-1)! (n−1)!种排法。如果从n个不同元素中取出m个元素作圆形排列共有 1 m C n m \frac{1}{m}C_n^m m1​Cn…

Windows Server 系统各版本及授权说明(附下载地址

本文为Windows Server系统各版本差异对比及授权说明。 会对相关目前仍主流使用的相关Windows Server系统版本和相关授权进行对比和功能说明。 WindowsServer2012 R2 Windows Server 2012 R2授权方式是按照物理CPU数量进行授权&#xff0c;比如物理服务器CPU插槽数量2&#xff…