echarts多组堆叠柱状图
一、效果图

二、代码实现
1、创建容器
<el-card class="box-card"><div slot="header" class="clearfix"><span>课堂学习</span></div><div id="class-learning" style="height: 360px"></div></el-card>
2、初始化实例
created () {this.$nextTick(()=>{this.initCharts()});},
getAnalysisData(result){let hasData = result != null && JSON.stringify(result) != '{}';this.initCharts(hasData);},
initCharts(hasData){this.chartInstances.forEach(chart =>{if(chart != null & chart != '' && chart != undefined){chart.dispose();}})this.chartInstances = [echarts.init(document.getElementById('class-learning')).setOption(this.learningOption),]}
3、设置柱状图样式和内容
learningOption : {title: {text: '课堂学习各指标人数分布',left: '49%',textAlign: 'center',},// legend的data内容与series中的数据name名称要保持一致 图例的名称和颜色才会显示legend: {data: ["专注听讲", "认真思考","积极参与","内容掌握度"],bottom: "20px",},xAxis: {type: 'category',data: ['语文', '数学', '英语']},yAxis: {type:'value',// axisLabel: {// show: true,// 显示x轴标签// formatter: `{value}%`,// interval: 0// },// axisTick:{// show: true //不显示坐标轴刻度线// },axisLine: {show: true, //显示坐标轴线},splitLine: { //网格线"show": false},// y轴刻度标签设置 对value整除得到list数组的下标 再显示到y轴标签上axisLabel: {formatter: (value) => {const list = ['差', '较差', '','较好','', '好']return list[value/20]}},},series: [//堆叠柱状图 堆叠在同一个柱子上要设置一样的stack值(可以是数字可以是字符可以是汉字){name: '专注听讲差',type: 'bar',stack: '1',// 鼠标停留时高亮显示 其余内容虚化emphasis: {focus: 'series'},// 柱状图的说明标签显示 标签颜色为黑色 单位为%label: {show: true,color:'black',formatter: '{c}%',//单位},// 柱子带边框itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [8,33,12]},{name: '专注听讲',type: 'bar',stack: '1',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%', //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [32,20,32]},{name: '专注听讲较好',type: 'bar',stack: '1',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%', //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [41,26,51]},{name: '专注听讲好',type: 'bar',stack: '1',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%', //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [19,21,5]},// stack值不同 则是另外一个柱子{name: '认真思考差',type: 'bar',stack: '2',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [15,17,8]},{name: '认真思考',type: 'bar',stack: '2',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [28,45,26]},{name: '认真思考较好',type: 'bar',stack: '2',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [34,24,28]},{name: '认真思考好',type: 'bar',stack: '2',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [23,14,38]},{name: '积极参与差',type: 'bar',stack: '3',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [22,9,5]},{name: '积极参与',type: 'bar',stack: '3',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [25,40,46]},{name: '积极参与较好',type: 'bar',stack: '3',// barGap: 10,emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [48,34,35]},{name: '积极参与好',type: 'bar',stack: '3',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [5,17,14]},{name: '内容掌握度差',type: 'bar',stack: '4',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [9,22,25]},{name: '内容掌握度',type: 'bar',stack: '4',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [41,26,25]},{name: '内容掌握度较好',type: 'bar',stack: '4',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [48,42,35]},{name: '内容掌握度好',type: 'bar',stack: '4',emphasis: {focus: 'series'},label: {show: true,color:'black',formatter: '{c}%' //单位},itemStyle: {normal: {borderColor:'#fff',borderWidth: 1,}},data: [2,10,15]}],color:['#335899','#3f6ab7','#7991ce','#b3bedf','#a0460d','#ed7d31','#f4b183','#f8cbad','#bf9000','#ffc000','#ffd966','#ffe699','#548235','#70ad47','#a9d18e','#c5e0b4']},
相关文章:
echarts多组堆叠柱状图
一、效果图 二、代码实现 1、创建容器 <el-card class"box-card"><div slot"header" class"clearfix"><span>课堂学习</span></div><div id"class-learning" style"height: 360px">&l…...
打造安心宠物乐园:EasyCVR平台赋能猫咖/宠物店的智能视频监控解决方案
随着宠物经济的蓬勃发展,宠物店与猫咖等场所对顾客体验、宠物安全及健康管理的需求日益提升。然而,如何确保这些场所的安全与秩序,同时提升顾客体验,成为了经营者们关注的焦点。引入高效、智能的视频监控方案,不仅能够…...
springboot请求传参常用模板
注释很详细,直接上代码 项目结构 源码 HelloController package com.amoorzheyu.controller;import com.amoorzheyu.pojo.User; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*;import java.ti…...
HTML/CSS/JS学习笔记 Day4(HTML--C3 表格)
跟着该视频学习,记录笔记:【黑马程序员pink老师前端入门教程,零基础必看的h5(html5)css3移动端前端视频教程】https://www.bilibili.com/video/BV14J4114768?p12&vd_source04ee94ad3f2168d7d5252c857a2bf358 Day4 内容梳理:…...
WPF中创建横向的ListView
在WPF中,要创建横向的ListView,您可以通过设置ItemsControl的ItemsPanel来改变其项的排列方向。以下是一个简单的示例,展示了如何将ListView的项横向排列: 在这个例子中,WrapPanel用于横向排列其子元素,而…...
A表和B表公共元素产生链表C
设A和B是两个单链表(带头节点),其中元素递增有序。设计一个算法从A到B的公共元素产的C表(交集),要求不破坏A,B的节点。 思想:依次比较A,B表中的元素,相同时&…...
Rust运算符
【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com) https://blog.csdn.net/brucexia/category_12779443.html 前面已经学习了变量和常量,本节开始对它们进行操作,…...
Oracle rman 没有0级时1级备份和0级大小一样,可以用来做恢复 resetlogs后也可以
文档说了 full backup 不能 用于后续的level 1,没说level 1没有level 0 是不是level 1就是level 0? 1级备份变0级的原因 及 Enabling Change Tracking生效没有-CSDN博客 这个文档说明1级备份时没有找到0级就是0级备份,可以用来完整恢复的。…...
idea中配置Translation插件完成翻译功能
文章目录 idea下载插件配置有道云阿里云百度翻译开放平台 idea下载插件 idea中安装Translation插件 使用方法:右下角选择翻译引擎,鼠标选中想翻译的部分,右键翻译即可 之前一直用的微软的翻译,不需要配置,但是最近微软…...
如何看待:低代码开发平台的兴起无需经验?
在当今快速发展的技术时代,软件开发的需求日益增长,而专业开发人员的数量却远远跟不上需求的步伐。为了解决这一矛盾,低代码开发平台应运而生,它通过提供可视化的开发环境和拖拽式的编程方式,使得没有编程经验的用户也…...
OpenCV-轮廓检测
文章目录 一、简介1. 意义2.具体步骤 二、代码实现三、总结 一、简介 1. 意义 在OpenCV中,轮廓检测是图像处理中一个非常重要的环节,它允许我们识别图像中的形状。这个过程通常涉及几个步骤:读取图像、转换为灰度图、应用阈值处理ÿ…...
vue页面使用自定义字体
一、准备好字体文件 一般字体问价格式为 .tff,可以去包图网等等网站去下载,好看的太多了!!! 下载下来就是单个的 .tff文件,下载下来后可以进行重命名,但是不要改变他的后缀名,我把他…...
C++——list常见函数的使用和模拟实现(2)
在list的上一篇博客里实现了list基本的初始化、插入数据、删除数据的基本功能,这些功能的实现方式只是在原先链表的实现里加入了模版而已,但是list作为一个容器,它还有一个基础的东西——迭代器。list的迭代器和之前实现的string和vector很大…...
C 标准库 - `<float.h>`
C 标准库 - <float.h> 概述 <float.h> 是 C 标准库中的一个头文件,它定义了与浮点数类型相关的宏。这些宏提供了关于浮点数的属性信息,如精度、最小和最大值、以及舍入误差等。这个头文件对于需要精确控制浮点数行为的程序非常有用&#x…...
【机器人工具箱Robotics Toolbox开发笔记(二)】Matlab中机器人工具箱的下载与安装
Matlab机器人工具箱(Robotics Toolbox)可从Peter Corke教授提供的网站上免费下载。网址为:http://www.petercorke.com/Robotics_Toolbox.html。 图1 网站所提供的机器人工具箱版本 在Downloading the Toolbox栏目中单击here按钮进入下载页面,然后在该页面中填写国家、组织…...
ROS2 Nav2 - Smac 规划器
系列文章目录 前言 SmacPlanner 是 Nav2 Planner 服务器的插件。它目前包括 3 个不同的插件: SmacPlannerHybrid:高度优化的完全可重新配置的 Hybrid-A* 实现,支持 Dubin 和 Reeds-Shepp 模型(足式、阿克曼和汽车模型)…...
LabVIEW环境中等待FPGA模块初始化完成
这个程序使用的是LabVIEW环境中的FPGA模块和I/O模块初始化功能,主要实现等待FAM(Field-Programmable Gate Array Module,FPGA模块)的初始化完成,并处理初始化过程中的错误。让我们逐步分析各部分的功能: 1.…...
手机TF卡格式化后数据恢复:方法、挑战与预防措施
在现代生活中,手机已经成为我们不可或缺的一部分,而TF卡(即MicroSD卡)作为手机存储的扩展,更是承载了我们大量的重要数据。然而,不慎的格式化操作往往导致数据丢失,给用户带来不…...
ceph对象存储使用的一些思考
导言 我在某司做对象存储约4年时间,作为研发人员,接触过大量的市场项目,对国内市场上对对象存储的使用有一些了解和思考。本文主要是对本人经历的过往对象存储项目中发现的一些问题进行总结。 背景如下: 基于ceph版本进行开发并进…...
单词排序C++实现
代码如下: #include<iostream> #include<string> #include<fstream> #include<map> #include<iomanip> #include<algorithm> #include<vector>int read_file(std::map<std::string,int> &map_words) {std::st…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
