echarts绘制一个饼图

其他echarts: 

qecharts绘制一个柱状图,柱状折线图

效果图:

代码:

<template><div class="wrapper"><div ref="pieChart1" id="pieChart1"></div><div ref="pieChart2" id="pieChart2"></div></div>
</template><script>
export default {mixins: [],components: {},props: {table: {type: Object,default: {datas: {},color: [],},theme: {defalut: "dark",},},},data() {return {limitLength: 7, //显示name长度};},created() {},mounted() {},watch: {table: {handler(newVal) {if (newVal) {if (newVal.limitLength) this.limitLength = newVal.limitLength;// 进行数据处理操作this.option();this.option2();}},},},methods: {option() {let option = {tooltip: {// position: 'inner',trigger: "item",formatter: "{a} <br/>{b} : {c} ({d}%)",},toolbox: {show: true,feature: {mark: { show: true },// saveAsImage: { show: true },},},series: [{type: "pie",center:this.table.legendLocation == "left"? ["60%", "50%"]: ["50%", "40%"],itemStyle: {// borderRadius: this.hollowOut ? 0 : 5,//元素的圆角//label指示线的颜色color: (params) => {var index = params.dataIndex;return this.table.color[index];},},label: {show: true,position: "outer", // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)'formatter: (series) => {// 设置不同的字体颜色return "{a|" + series.name + "}\n{b|" + series.value + "}";},rich: {a: {fontSize: 12, // 第一个字的字号},b: {fontSize: 16, // 第二个字的字号},},},emphasis: {//中间文字显示show: true,},data: this.table.datas.map((item, index) => {item.label = {// label的颜色color: this.table.color[index],};item.name = item.NAME;item.value = item.VALUE || item.NUM;return item;}),},],};var chartDom = this.$refs.pieChart1;var myChart = this.$E.init(chartDom);myChart.setOption(option);},option2() {const option2 = {tooltip: {// position: 'inner',trigger: "item",// {a} <br/>formatter: "{b} : {c} ({d}%)",},legend: {textStyle: {color: this.theme === "dark" ? "#bfa" : "#333",},orient:this.table.legendLocation == "left" ? "vertical" : "horizontal",type: "scroll", //颜色过多可以滚动left: this.table.legendLocation == "left" ? 0 : "center",top: this.table.legendLocation == "left" ? "top" : "bottom",icon: this.table.legendIcon ? "circle" : "",formatter: (name) => {var seriesData = option2.series[0].data; // 数据在series的第几个中var total = 0;for (var i = 0; i < seriesData.length; i++) {total += seriesData[i].value;}for (var j = 0; j < seriesData.length; j++) {if (name === seriesData[j].name) {var percent = ((seriesData[j].value / total) * 100).toFixed(2);if (name.length > this.limitLength) {return (name.substring(0, this.limitLength) +"..." +" " +seriesData[j].value +" " +percent +"%");} else {return name + " " + seriesData[j].value + " " + percent + "%";}}}},},toolbox: {show: true,feature: {mark: { show: true },// saveAsImage: { show: true },},},series: [{type: "pie",center:this.table.legendLocation == "left"? ["60%", "50%"]: ["50%", "40%"],itemStyle: {// borderRadius: this.hollowOut ? 0 : 5,//每一个元素的颜色color: (params) => {var index = params.dataIndex;return this.table.color[index];},},label: {position: "inner", // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)'// formatter: '{a} {b} : {c}个 ({d}%)'   设置标签显示内容 ,默认显示{b}// {a}指series.name  {b}指series.data的name// {c}指series.data的value  {d}%指这一部分占总数的百分比formatter: "{d}%",},emphasis: {//中间文字显示show: true,},data: this.table.datas.map((item, index) => {item.label = {// label的颜色color: "#fff",};item.name = item.NAME;item.value = item.VALUE || item.NUM;return item;}),},],};var chartDom2 = this.$refs.pieChart2;var myChart2 = this.$E.init(chartDom2);myChart2.setOption(option2);// 添加点击事件myChart2.on("click", function (params) {console.log(params.seriesIndex);if (params.componentType === "series") {let dataIndex = params.dataIndex; // 获取点击的数据索引let data = option2.series[params.seriesIndex].data[dataIndex]; // 获取点击的数据对象console.log(data);}});},},
};
</script><style scoped lang="scss">
.wrapper {width: 100%;height: 100%;position: relative;#pieChart1,#pieChart2 {width: 100%;height: 100%;box-sizing: border-box;position: absolute;top: 0;left: 0;}
}
</style>

这是一个组件调用:

<NewPie:table="table":theme="theme":style="{ height: heightNew }"
/>
// heightNew : 动态计算的高度

入参:

/**"table": {"datas": [{"VALUE": 25,"NAME": "产假","label": {"color": "#fff"},"name": "产假","value": 25},{"VALUE": 6,"NAME": "公休","label": {"color": "#fff"},"name": "公休","value": 6},{"VALUE": 2,"NAME": "病假","label": {"color": "#fff"},"name": "病假","value": 2},{"VALUE": 1,"NAME": "事假","label": {"color": "#fff"},"name": "事假","value": 1},{"VALUE": 1,"NAME": "育儿假","label": {"color": "#fff"},"name": "育儿假","value": 1},{"VALUE": 1,"NAME": "工伤假","label": {"color": "#fff"},"name": "工伤假","value": 1}],"color": ["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc","#8364FF","#36F4D7","#FBB03C"],"legendLocation": "left","legendIcon": "round"}
*/

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

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

相关文章

❀My学习Linux命令小记录(16)❀

目录 ❀My学习Linux命令小记录&#xff08;16&#xff09;❀ 61.who指令 62.sleep指令 63.kill指令 64.top指令 65.diff指令 ❀My学习Linux命令小记录&#xff08;16&#xff09;❀ 61.who指令 功能说明&#xff1a;显示目前登录系统的用户信息。 &#xff08;ps.who命…

局域网共享打印机设置,解决709、11B等一切共享问题

Win7、Win10、Win11添加共享打印机经常出现局域网共享打印机出错&#xff0c;常规的添加方式是SMB共享&#xff0c;一更新就出问题&#xff0c;报错0x00000709、0x0000011b等。 网上有许多方法&#xff0c;如卸载更新补丁&#xff0c;替换“win32spl.dll”文件&#xff0c;修改…

一.初始typescript

什么是ts 首先我们要确认typescript是一个语言&#xff0c;是等同于JavaScript层级得&#xff0c;并不是一些人认为得是JavaScript得类型规范工具或者插件。 ts与js的差异 从type script这个名字就可以看出&#xff0c;ts其实是JavaScript的一个类型化超集&#xff0c;它增…

FPGA(基于xilinx)中PCIe介绍以及IP核XDMA的使用

Xilinx中PCIe简介以及IP核XDMA的使用 例如&#xff1a;第一章 PCIe简介以及IP核的使用 文章目录 Xilinx中PCIe简介以及IP核XDMA的使用一、PCIe总线概述1.PCIe 总线架构2.PCIe 不同版本的性能指标及带宽计算3.PCIe 接口信号 二、XDMA1.XDMA 与其它 PCIe IP 的区别2.XDMA简介 三…

ChatGPT在国内的使用限制,国内的ChatGPT替代工具

人工智能技术的发展不仅改变了我们的生活方式&#xff0c;也在各行各业发挥着越来越重要的作用。ChatGPT&#xff08;Generative Pre-trained Transformer&#xff09;作为一种先进的自然语言处理模型&#xff0c;由OpenAI推出&#xff0c;其在生成人类般流畅对话方面表现出色。…

同旺科技 USB TO RS-485 定制款适配器--- 拆解(四)

内附链接 1、USB TO RS-485 定制款适配器 ● 支持USB 2.0/3.0接口&#xff0c;并兼容USB 1.1接口&#xff1b; ● 支持USB总线供电&#xff1b; ● 支持Windows系统驱动&#xff0c;包含WIN10 / WIN11系统32 / 64位&#xff1b; ● 支持Windows RT、Linux、Mac OS X、Windo…

用 PHP和html做一个简单的注册页面

用 PHP和html做一个简单的注册页面 index.html的设计 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title…

Oracle 表数据锁了,处理方式,Oracle锁表处理

Oracle 表数据锁了&#xff0c;处理方式&#xff0c;Oracle锁表处理 参考连接&#xff1a; Oracle锁表处理_oracle锁表怎么解决_辣椒炒鸡的博客-CSDN博客 实践&#xff1a; 1、查看被锁的表 select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object …

厦门基础城建中排水管网作用,助力提升城市韧性

在厦门这个美丽的海滨城市&#xff0c;城市建设与发展日新月异&#xff0c;其中&#xff0c;城市生命线下的排水管网监测系统作为城市基础设施的重要组成部分&#xff0c;对保障城市安全、提升城市品质发挥着关键作用。 对于厦门城市建设中的排水管网监测系统安装策略 1. 合理…

Pytorch CIFAR10图像分类 ShuffleNetv2篇

Pytorch CIFAR10图像分类 ShuffleNetv2篇 文章目录 Pytorch CIFAR10图像分类 ShuffleNetv2篇4. 定义网络&#xff08;ShuffleNetv2&#xff09;高效网络设计实用指南指南一&#xff1a;同等通道大小最小化内存访问量指南二&#xff1a;过量使用组卷积会增加MAC指南三&#xff1…

TA-Lib学习研究笔记(九)——Pattern Recognition (1)

TA-Lib学习研究笔记&#xff08;九&#xff09;——Pattern Recognition &#xff08;1&#xff09; 0.程序代码 形态识别的函数的应用&#xff0c;通过使用A股实际的数据&#xff0c;验证形态识别函数&#xff0c;用K线显示出现标志的形态走势&#xff0c;由于入口参数基本上…

MTK平台如何debug A2DP 卡音问题

一 听auido文件 卡音问题首先要听以下3个部分的audio文件 1 .auido dump中的af_mixer_write_pcm_xxx.wav,这是auido传 给A2DP的源文件,如果这里有卡音,可以转给auido的人check • track是AudioTrack送到AudioFlinger的聲音 • mixer_pcm是AudioFlinger處理過程中的聲音 •…

扩展卡尔曼滤波技术(Extended Kalman Filter,EKF)

一、概念介绍 卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全包含噪声的测量中&#xff0c;估计动态系统的状态&#xff0c;然而简单的卡尔曼滤波必须应用在符合高斯分布的系统中。 扩展卡尔曼滤波就是为了解决非线性问题&#xff0c;普通卡尔曼…

SpringMVC修炼之旅(3)REST风格与拦截器

一、概述 1.1简介 Restful就是一个资源定位及资源操作的风格。不是标准也不是协议&#xff0c;只是一种风格。基于这个风格设计的软件可以更简洁&#xff0c;更有层次&#xff0c;更易于实现缓存等机制。 1.2功能 资源&#xff1a;互联网所有的事物都可以被抽象为资源 资源操作…

基于SpringBoot+Thymeleaf+Mybatis实现大学生创新创业管理系统(源码+数据库+项目运行指导文档)

一、项目简介 本项目是一套基于SpringBoot实现大学生创新创业管理系统&#xff0c;主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目可以直接作为bishe使用。 项目都经过严格调试&#…

STM32CubeMx+MATLAB Simulink串口输出实验

STM32CubeMxMATLAB Simulink串口输出实验 &#x1f4cc;《STM32CubeMxMATLAB Simulink点灯程序》&#x1f4cd;相关篇《MATLAB Simulink STM32硬件在环 &#xff08;HIL&#xff09;实现例程测试》&#x1f516;需要的软件支持包&#xff1a;Embedded Coder Support Package fo…

Java 实现 图片 添加 文字水印、图片水印 工具类

一、话不多说&#xff0c;直接上代码 1.1&#xff0c;水印类型枚举 import lombok.AllArgsConstructor; import lombok.Getter;/*** author: wangjing* createTime: 2023-12-05 15:01* version: 1.0.0* Description: 水印类型枚举*/ Getter AllArgsConstructor SuppressWarni…

「Verilog学习笔记」状态机-重叠序列检测

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 读入数据移位寄存&#xff0c;寄存后的数据与序列数做对比&#xff0c;相等则flag为1&#xff0c;不等则为0 timescale 1ns/1nsmodule sequence_test2(input wire clk ,in…

java单人聊天

服务端 package 单人聊天;import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import…

拼多多商品详情API:构建高效电子商务解决方案

一、引言 随着互联网的快速发展&#xff0c;电子商务行业正在迅速崛起&#xff0c;其中拼多多以其独特的商业模式和创新的商品详情API&#xff0c;成为了行业内的佼佼者。本文将深入探讨拼多多商品详情API的技术特点、实现方式及其在电子商务解决方案中的应用。 二、拼多多商…