当前位置: 首页 > news >正文

Echarts+VUE饼图的使用(基础使用、多个饼图功能、单组饼图对应颜色使用)

安装:npm install echarts --save
配置:main.js

// 引入echarts
import * as echarts from 'echarts'
Vue.prototype.$echarts = echarts

一、基础饼图(直接拷贝就能出效果)

 <div class="big-box" ref="demoEhart"></div>
mounted() {this.demoChart()
}
demoChart(){var myChart = this.$echarts.init(this.$refs.demoEhart);var option = {title: {text: 'Referer of a Website',subtext: 'Fake Data',left: 'center'},tooltip: {trigger: 'item'},legend: {orient: "horizontal",icon: "circle",bottom: 0,x: "center",textStyle: {color: "#fff"}},series: [{name: 'Access From',type: 'pie',radius: '50%',data: [{ value: 1048, name: 'Search Engine' },{ value: 735, name: 'Direct' },{ value: 580, name: 'Email' },{ value: 484, name: 'Union Ads' },{ value: 300, name: 'Video Ads' }],}]
};myChart.setOption(option);
}

二、饼图(多组动态显示饼图数量的数据)

//获取到的数据
ceshilist:[{name:'/dev',free:30,used:520},{name:'/d456',free:30,used:520},{name:'/d88',free:30,used:520},{name:'/d78978',free:30,used:520},{name:'/sdasd8',free:30,used:520},{name:'/d8sad456asd8',free:30,used:520},{name:'/sasss8',free:30,used:520},{name:'/dwqewunn8',free:30,used:520},{name:'/dev336',free:30,used:520}],
//最终需要的数据格式
data:[
[{value:ceshilist[i].free,name:'可用量',typename:ceshilist[i].mountPath},
{value:ret[i].used,name:'已用量',typename:ret[i].fs_type_name}],
[{value:ceshilist[i].free,name:'可用量',typename:ceshilist[i].mountPath},
{value:ret[i].used,name:'已用量',typename:ret[i].fs_type_name}]
]

步骤:

 <div class="big-box" ref="pieEhart"></div>
  data() {return {source:[],setData:new Map//实时刷新map对象}}
mounted() {this.pieEhartclick()
}
getDiskData(ret){let source=[]//将获取到的数据变成以下数据格式for (let i = 0; i < ret.length; i++) {source.push([{value:ret[i].free,name:'可用量',typename:ret[i].mountPath},{value:ret[i].used,name:'已用量',typename:ret[i].fs_type_name}])}this.source=sourcethis.pieEhartclick()//重新渲染图表方法,不是实时数据可以不加此代码
}
 // 磁盘饼图pieEhartclick(){var myChart = this.$echarts.init(this.$refs.pieEhart);var datas=this.source// let that = this;var option = {{text:'磁盘使用情况',subtext:'将鼠标移动对应饼图上以查看对应信息'},//每个饼图对应的标题名称title:datas.map(function(data,idx){var numcol=4  //定义列var numrow=Math.ceil(datas.length/numcol) //定义行 有多少条数据除以列就是行数var top=Math.floor(idx/numcol)*100/numrow+10//距离上面的距离var left=(idx%numcol)*100/numcol+12//距离左边的距离return{subtext:data[0].typename,top:top+'%',left:left+'%',textAlign:'center',subtextStyle:{color:'#ffffff'//字体颜色}}}),legend: {},color:["#3F60C6","#9A60B4"],tooltip: {trigger:'item',formatter:'{b}:{c}({d}%)'//鼠标悬浮显示数据},series:datas.map(function(data,idx){var numcol=4 //定义列var numrow=Math.ceil(datas.length/numcol) //定义行 有多少条数据除以列就是行数var top=Math.floor(idx/numcol)*100/numrow//距离上面的距离var left=(idx%numcol)*100/numcol//距离左边的距离return{type:'pie',// radius:[20,60],top:top+'%',left:left+'%',height:100/numrow+'%',width:100/numcol+'%',itemStyle:{// borderColor:'#fff',// borderWidth:1,// color:function(data,idx){//   if(data[idx].value>95){//     return 'red'//   }// }},label:{show:false},data:data}}),};myChart.setOption(option);},

三、饼图(单组数据)
在这里插入图片描述

扩展功能:一般自定义颜色是按照数据的顺序依次对应,现在想要指定字段对应某个颜色

 <div class="big-box" ref="oneEhart"></div>
cdata: {xData: ["水文", "森林", "气象", "地质",  "其他"],seriesData: [{ value: 35, name: "水文" ,itemStyle: {color:"#9fe6b8"}},{ value: 15, name: "森林" },{ value: 15, name: "气象" },{ value: 25, name: "地质" },{ value: 40, name: "其他" }]},
coloritem:{"森林":"#9fe6b8","气象":"#0099ff","水文":"#32c5e9","地质":"#e7bcf3","其他":"#fb7293"}
mounted() {this.getOnechart()
}
 methods: {getBar(){this.$axios.post('******').then((res)=>{let items=res.data //接收到的数据this.cdata.seriesData=this.getData(items) //变成想要的数据格式方法console.log(this.cdata.seriesData)})},//对应颜色处理getData(data) {let that=thisreturn data.map(function (item) {return {value: item.value,name: item.name,itemStyle: {color: that.coloritem[item.name] // 使用颜色映射表中对应的颜色}};});}}
getOnechart(){
var myChart = this.$echarts.init(this.$refs.oneEhart);
let newdata=this.cdata
var option = {title: {text: 'Referer of a Website',subtext: 'Fake Data',left: 'center'},tooltip: {trigger: 'item',formatter: "{c} ({d}%)"},toolbox: {show: true},calculable: true,//默认方块显示颜色标签// legend: {// orient: 'vertical',// left: 'left'//},  legend: {//圆圈orient: "horizontal",icon: "circle",bottom: 0,x: "center",data: newData.xData,textStyle: {color: "#fff"}},       series: [{name: 'Access From',type: 'pie',radius: '50%',label: {//echarts饼图内部显示百分比设置formatter: "{b}\n{d}%",lineHeight: 15,//  color: "#ffffff", //颜色fontSize: 12 //字体大小},data: [{ value: 1048, name: 'Search Engine' },{ value: 735, name: 'Direct' },{ value: 580, name: 'Email' },{ value: 484, name: 'Union Ads' },{ value: 300, name: 'Video Ads' }],data: newData.seriesData}]
};myChart.setOption(option);
}

相关文章:

Echarts+VUE饼图的使用(基础使用、多个饼图功能、单组饼图对应颜色使用)

安装&#xff1a;npm install echarts --save 配置:main.js // 引入echarts import * as echarts from echarts Vue.prototype.$echarts echarts一、基础饼图&#xff08;直接拷贝就能出效果&#xff09; <div class"big-box" ref"demoEhart"><…...

刘铁猛C#入门 026 重写与多态

类的继承 类成员的“横向扩展”(成员越来越多)类成员的“纵向扩展”(行为改变&#xff0c;版本增高)类成员的隐藏(不常用)重写与隐藏的发生条件&#xff1a;函数成员&#xff0c;可见&#xff0c;签名一致 函数成员:方法 、属性可见&#xff1a;父类修饰符是public protected …...

《筑牢安全防线:培养 C++安全编程思维习惯之道》

在当今数字化飞速发展的时代&#xff0c;软件安全的重要性已提升到前所未有的高度。C作为一种广泛应用于系统开发、游戏制作、高性能计算等众多领域的编程语言&#xff0c;其程序的安全性更是关乎重大。培养 C安全编程的思维习惯&#xff0c;不仅是开发者个人能力提升的关键&am…...

《TCP/IP网络编程》学习笔记 | Chapter 16:关于 I/O 流分离的其他内容

《TCP/IP网络编程》学习笔记 | Chapter 16&#xff1a;关于 I/O 流分离的其他内容 《TCP/IP网络编程》学习笔记 | Chapter 16&#xff1a;关于 I/O 流分离的其他内容分离 I/O 流2 次 I/O 流分离分离「流」的好处「流」分离带来的 EOF 问题 文件描述符的的复制和半关闭终止「流」…...

单片机学习笔记 5. 数码管静态显示

更多单片机学习笔记&#xff1a;单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~ 目录 0、实现的功能 1、Keil工程 1-1 数码管显示原理 1-2 静态与动态显示 1-3 74HC573锁存器的工作原理 1-…...

ValueError: not enough values to unpack (expected 2, got 1) 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

java基础知识(常用类)

一、包装类&#xff08;Wrapper) &#xff08;1&#xff09;包装类与基本数据的转换 装箱&#xff1a;基本类型->包装类型 拆箱&#xff1a;包装类型->基本类型 java5以后是自动装箱和拆箱的方式&#xff0c;自动装箱底层调用的是valueOf方法&#xff0c;比如Integer.…...

Selenium+Java(19):使用IDEA的Selenium插件辅助超快速编写Pages

前言 或是惊叹于Selenium对于IDEA的支持已经达到了这样的地步,又或是由于这个好用的小工具的入口就在那里,它已经陪伴了我这么久,而我这么久的时间却都没有发现它。在突然发现这个功能的一瞬间,真的是喜悦感爆棚,于是赶快写下了这篇文章。希望可以帮助到其他同样在做UI自动…...

决策树分类算法【sklearn/决策树分裂指标/鸢尾花分类实战】

决策树分类算法 1. 什么是决策树&#xff1f;2. DecisionTreeClassifier的使用&#xff08;sklearn&#xff09;2.1 算例介绍2.2 构建决策树并实现可视化 3. 决策树分裂指标3.1 信息熵&#xff08;ID3&#xff09;3.2 信息增益3.3 基尼指数&#xff08;CART&#xff09; 4. 代码…...

深入理解 Spring Boot 的 WebApplicationType

1. 前言 在 Spring Boot 应用程序启动过程中,WebApplicationType 是一个重要的概念,它决定了应用程序是以 Web 应用程序的形式运行还是以非 Web 应用程序的形式运行。本文将详细探讨 WebApplicationType 的工作机制及其在实际项目中的应用。 2. 什么是 WebApplicationType?…...

摄影:相机控色

摄影&#xff1a;相机控色 白平衡&#xff08;White Balance&#xff09;白平衡的作用&#xff1a; 白平衡的使用环境色温下相机色温下总结 白平衡偏移与包围白平衡包围 影调 白平衡&#xff08;White Balance&#xff09; 人眼看到的白色&#xff1a;会自动适应环境光线。 相…...

Python网络爬虫技术及其应用

Python网络爬虫技术及其应用 在当今数字化时代&#xff0c;互联网已经成为信息传播的主要渠道。海量的数据每天都在互联网上产生&#xff0c;这些数据对于企业决策、市场分析、科学研究等有着极其重要的价值。然而&#xff0c;如何高效地收集并利用这些数据成为了一个挑战。Py…...

鸿蒙学习笔记:ArkUI概述

ArkUI是构建分布式应用界面的声明式UI开发框架。组件是界面搭建最小单位&#xff0c;页面是最小调度分隔单位。其有诸多特征&#xff0c;如内置丰富多态UI组件、多样布局、多种动画及绘制能力、交互事件适配多输入设备等&#xff0c;还有平台API通道与两种开发范式。 JS、TS、…...

Selenium 在自动化测试中的应用

在自动化测试中&#xff0c;Selenium是一种非常流行的工具&#xff0c;它允许开发者通过编程的方式与Web浏览器进行交互&#xff0c;模拟用户操作&#xff0c;如点击按钮、填写表单、导航网页等。 1. Selenium 简介 Selenium是一个支持多种浏览器的Web自动化测试工具&#xff…...

python3 Flask应用 使用 Flask-SQLAlchemy操作MySQL数据库

一、环境搭建 下载命令&#xff1a; pip install flask flask-sqlalchemy pymysql 二、创建项目结构 yourProjectFolder/ |—— app.py |—— config.py |—— models.py |__ mydb.py 三、基本使用 3.1 config.py 进行数据库连接配置 import osbasedir os.path.abspat…...

Python学习——猜拳小游戏

import random player int(input(“请输入&#xff1a;剪刀 0&#xff0c;石头 1&#xff0c;布2”)) computer random.randint(0,2)# print(“玩家输入的是%d&#xff0c;电脑输入的是%d” %(player,computer)) 用于测试 if (player 0) and (computer 0) or (player 1) a…...

递归-迭代

24. 两两交换链表中的节点 Leetcode 24 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 递归解法 // 注意&#xff1a;cpp …...

恋爱通信史之完整性

在前面的章节中&#xff0c;介绍了对通信消息的加密&#xff0c;可以保证保密性(机密性)。虽说中间人无法解密通信消息的内容&#xff0c;但是可以篡改通信的消息。在接受者视角来看&#xff0c;是无法识别通信消息是否被篡改。因此&#xff0c;必须引入一种机制&#xff0c;保…...

Docker 容器的初始化设置

虽然现在Conntainerd 大有取代Docker作为容器运行时的趋势&#xff0c;但是docker还是有自己的优势在。尤其是对于开发者来讲&#xff0c;使用Docker 比使用 containerd 方便很多&#xff0c;尤其是在Docker Desktop等工具的加持下。 本文主要面向Docker的初、中级学者&#xf…...

密码编码学与网络安全(第五版)答案

2.4题&#xff1a; 通过如下代码分别统计一个字符的频率和三个字符的频率&#xff0c;"8"——"e"&#xff0c;“&#xff1b;48”——“the”&#xff0c;英文字母的相对使用频率&#xff0c;猜测频率比较高的依此为&#xff09;&#xff0c;t,*,5&#xf…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...