vue+echarts 循环生成多个图表

news/2025/3/6 8:53:17/文章来源:https://www.cnblogs.com/sour0202/p/18754172

借鉴网上开源分享 https://blog.csdn.net/weixin_49668076/article/details/114263986

<template><!-- 实时数据图表 --><div class="main-container"><el-row class="totalEchart"><el-col :span="8" :key="index" v-for="(item, index) in tmpList" class="tmplist"><img :src="item.path" alt="" /><span>{{ item.title }}</span><el-col :span="8" v-for="(item, index) in list" :key="index"></el-col><div class="roseChart"></div></el-col></el-row></div>
</template>
<script>
export default {name: "",components: {},props: {},data() {return {tmpList: [{ id: 1, path: require("@/assets/images/jiance/jiance1.png"), title: "风速" },{ id: 2, path: require("@/assets/images/jiance/jiance2.png"), title: "温度" },{ id: 3, path: require("@/assets/images/jiance/jiance3.png"), title: "PM2.5" },{ id: 4, path: require("@/assets/images/jiance/jiance4.png"), title: "风向" },{ id: 5, path: require("@/assets/images/jiance/jiance5.png"), title: "噪音" },{ id: 6, path: require("@/assets/images/jiance/jiance6.png"), title: "PM10" },],list: [// 假数据{aData: ["1:00","2:00","3:00","4:00","5:00","6:00","7:00","8:00","9:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","24:00",],bData: [3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,],color: "#307EFF",colorLinearb:'#f0f6ff',colorLinearc:'#ddeaff',colorLineart:'#d6e5ff',},{aData: ["1:00","2:00","3:00","4:00","5:00","6:00","7:00","8:00","9:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","24:00",],bData: [3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,],color:'#00C0E9',colorLinearb:'#ecfafd',colorLinearc:'#d8f5fc',colorLineart:'#ccf2fb',},{aData: ["1:00","2:00","3:00","4:00","5:00","6:00","7:00","8:00","9:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","24:00",],bData: [3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,],color:'#F3BB5C', colorLinearb:'#fefcf7',colorLinearc:'#fdf5e7',colorLineart:'#fdf1de',},{aData: ["1:00","2:00","3:00","4:00","5:00","6:00","7:00","8:00","9:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","24:00",],bData: [3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,],color:'#00C0E9',colorLinearb:'#ecfafd',colorLinearc:'#d8f5fc',colorLineart:'#ccf2fb',},{aData: ["1:00","2:00","3:00","4:00","5:00","6:00","7:00","8:00","9:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","24:00",],bData: [3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,],color:'#EE7173',colorLinearb:'#fefafa',colorLinearc:'#fdecec',colorLineart:'#fce3e3',},{aData: ["1:00","2:00","3:00","4:00","5:00","6:00","7:00","8:00","9:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","24:00",],bData: [3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,3.5,0,1,2.5,0.5,3.2,3.3,3,3.1,3.3,2,0.8,2.9,1.2,],color:'#A35CF3',colorLinearb:'#faf7fe',colorLinearc:'#f5ecfe',colorLineart:'#ede0fd',},],};//     },computed: {},watch: {},created() {},mounted() {this.drawRose();},methods: {// 遍历饼图drawRose() {var echarts = require("echarts");var roseCharts = document.getElementsByClassName("roseChart"); // 对应地使用ByClassNamefor (var i = 0; i < roseCharts.length; i++) {// 通过for循环,在相同class的dom内绘制元素var myChart = echarts.init(roseCharts[i]);myChart.setOption({color: [this.list[i].color],grid: {top: 30,left: 20,right: 20,bottom: 10,containLabel: true,},tooltip: {show: true,trigger: "axis",},xAxis: {type: "category",//data: this.list[i].aData,//渲染每个图标对应的数据axisTick: {show: false,},boundaryGap: false,axisLabel: {show: true,color: "#858fa6", //x轴字体颜色},splitLine: {lineStyle: {width: 1,color: "#E2E2E2",},},axisLine: {lineStyle: {width: 1,color: "#E2E2E2", //x轴线颜色},},},yAxis: {type: "value",axisTick: {show: false,},axisLabel: {color: "#858fa6",},splitLine: {lineStyle: {width: 1,color: "#E2E2E2",},},axisLine: {lineStyle: {width: 0,color: "#E2E2E2",show: false,},},max: 5,},series: [{name: "数量",type: "line",step: "start",//  smooth: true,symbolSize: 3,showSymbol: false,areaStyle: {color: {type: "linear",x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 1,color: this.list[i].colorLinearb, //从下向上,下部分的颜色},{offset: 0.5,color: this.list[i].colorLinearc, //从下向上,中间部分的颜色},{offset: 0,color: this.list[i].colorLineart, //从下向上,上部分的颜色},],},},data:this.list[i].bData,//渲染每个图标对应的数据},],},true);}},},
};
</script>
<style lang="scss" scoped>
.main-container {width: 100%;margin-top: 40px;.totalEchart {width: 100%;.tmplist {height: 310px;img {width: 42px;height: 42px;vertical-align: middle;}span {vertical-align: middle;margin-left: 10px;}}.roseChart {width: 530px;height: 250px;}}
}
</style>

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

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

相关文章

智能合约学习笔记-进阶合约FundMe

收集投资 获取ETH/USD兑换rate 复制该地址页面内初始化 精度从这查找(precision) 表格中的 DEC(十进制)列显示了该数据流的精度,即 8。这意味着我们应该执行以下操作:return ethAmount * uint256(getChainlinkDataFeedLatestAnswer()) / (10 ** 8);coin和token 君不见…

Solidity学习笔记--基础语法

定义约定俗成:变量小写开头,类型或合约大写开头基础数据类型booluint256 无符号整型,代表一个不允许负数的整数。int256 有符号整型,代表一个能取到正数和负数的整数。 bytes32stringaddress合约:也可以作为数据类型去使用https://binschool.org/solidity-basic/soli…

solidity学习笔记-工厂模式

为什么使用(js的公共组件)如果要创建同一合约的多个实例,并且正在寻找一种跟踪它们并简化管理的方法。 提高合约安全性 降低部署成本实现(类似js的引入与调用) 君不见,高堂明镜悲白发,朝如青丝暮成雪

Python和Pycharm安装

Python简介 Python是一种计算机程序设计语言,它结合了解释性、编译性、互动性和面向对象的脚本语言,非常简单易用。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。很多著名的网站都是用它编写…

从零开始在Springboot+Vue项目上搭建Nginx服务器,完成静态文件存放到本地电脑上。

一、事情的起因: 写管理系统的时候,数据表中有一个字段被用来存储上传图片的地址。本人在上传图片的时候,采用模拟上传操作,将照片存储到了本地电脑的D盘上。存放在数据表中字段的值为D:/uploads/1741141288982_bd8415d7a452957780e0193a075fedc.png。其中D:/uploads,是本…

【设计模式】从零开始,用原型模式简化你的Java对象创建过程!

概述 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 结构 原型模式包含如下角色:抽象原型类:规定了具体原型对象必须实现的的 clone() 方法。具体原型类:实现抽象原型类的 clone() 方法,它是可被复制的对象。访问类:使用具体原型类…

SWPU CTF 2023 秋季新生赛 If_else

题干 访问首页,源码如下 <?php $a=false; $b=false; if(你提交的部分将会被写至这里) {$a=true;} else {$b=true;} if($a===true&&$b===true) eval(system(cat /flag)); ?>分析源码发现,通过post方式传递check参数,如果该值既满足true又满足f…

**20242802 2024-2025-2 《网络攻防实践》第一周作业**

20242802 2024-2025-2 《网络攻防实践》第一周作业 1.知识点梳理与总结 1.1 相关知识点与总结 因为在本课之前我没有学习过网络攻防的相关知识,在第一次实验前我先阅读了课程资料中第0章和第1章的内容结合网络资料,我对本门课程有了大致的理解:学习网络攻防知识作为网络安全…

20242924 《网络攻防实践》第1周作业

20242924 任雯楚《网络攻防实践》 第1周作业 1.知识点梳理与总结 1.1 VMware Workstation 多系统并行运行:在单台物理机上同时部署多个虚拟机(如 Kali 攻击机、Metasploitable 靶机),支持 Windows/Linux 等异构系统共存。 1.2 虚拟机镜像 虚拟机镜像是一种虚拟机的文件,它…

180多页详细解读多元化AI!清华大学《AIGC发展研究》

180多页详细解读多元化AI!清华大学《AIGC发展研究》无论是最初的ChatGPT还是目前大火的DeepSeek,底层都依赖于从于自然语言处理(NLP)、计算机视觉(CV)等先进的人工智能技术。无论是从最初的文本生成域到视频生成域以及现在逻辑推理领域都是从语料预训练→模型训练→参数学…

读DAMA数据管理知识体系指南11数据建模(下)

数据建模包括规范化、抽象化,规划成果,建立模型(含正向、逆向工程),涉及范式层次、抽象方法、图表定义、血缘追踪、持续改进及逻辑物理建模等。1. 规范化 1.1. 规范化(Normalization)是运用规则将复杂的业务转化为规范的数据结构的过程 1.2. 范式化的基本目标是保证每个属…

The Ethernaut题解

Level_0.Hello Ethernaut安装MetaMask; F12中的Console,一些指令查看state:查看自己的钱包地址->player:查看余额->getBalance(player):查看合约->ethernaut:合约交互,比如查看合约的owner->ethernaut.owner():从水龙头处获得ETH:(可以Sepolia PoW Faucet挖,也可以…