vue3之echarts渐变柱状图

vue3之echarts渐变柱状图

效果:
在这里插入图片描述
核心代码:

<template><div class="abnormal"><div class="chart" ref="chartsRef"></div></div>
</template><script setup>
import * as echarts from 'echarts';
import { reactive, onMounted } from 'vue';
const obj = reactive({data: {xdata: ['1','2','3','4','5','6','7','8','9','10','11','12',],ydata: [350, 320, 310, 450, 150, 300, 250, 250, 310, 280, 200, 180],},op: {tooltip: {trigger: 'axis',axisPointer: {type: 'shadow',lineStyle: {color: 'rgba(135, 140, 147, 0.6)',width: 10,},}, // 鼠标移上的阴影,默认是线},grid: {top: '5%',right: '1%',left: '0%',bottom: '0%',containLabel: true,},xAxis: [],yAxis: [{type: 'value',name: '装载量(万吨)',position: 'left',axisLabel: {formatter: '{value}',color: '#FFFFFF',textStyle: {fontSize: 13,fontFamily: 'DINPro-Regular',},interval: 0,},axisLine: {show: false,lineStyle: {color: 'rgba(255,255,255,1)',},},axisTick: {// x轴刻度相关设置alignWithLabel: true,},splitLine: {lineStyle: {type: 'dashed',color: 'rgba(255,255,255,0.12)',},},},{type: 'value',name: '装载车次(千辆)',nameLocation: 'end',position: 'right',axisTick: {show: false,},axisLine: {show: false,},axisLabel: {formatter: '{value}',textStyle: {fontSize: 13,color: '#ffffff',fontFamily: 'DINPro-Regular',},},axisTick: {// x轴刻度相关设置alignWithLabel: true,},splitLine: {lineStyle: {type: 'dashed',color: 'rgba(160, 169, 192, 0.8)',},},},],series: [],}
})
let myCharts = null;
let chartsRef = ref(null)const flushChart = () => {obj.op.xAxis = [];obj.op.series = [];obj.op.xAxis.push({type: 'category',data: obj.data.xdata,axisLine: {lineStyle: {color: 'rgba(255,255,255,0.12)',},},axisLabel: {margin: 11,color: '#FFFFFF',textStyle: {fontSize: 13,fontFamily: 'DINPro-Regular',},},});obj.op.series.push({type: 'bar',data: obj.data.ydata,name: '装载量',stack: 'Ad',barWidth: '5px',itemStyle: {normal: {color: new echarts.graphic.LinearGradient(0,0,0,1,[{offset: 0,color: '#77FB9F', // 0% 处的颜色},{offset: 1,color: 'rgba(255,255,255,0)', // 100% 处的颜色},],false,),},},},);myCharts.setOption(obj.op);
}const initChart = () => {myCharts = echarts.init(chartsRef.value);
}onMounted(() => {initChart();flushChart();
})const destroyChart = () => {if (!myCharts) {return;}myCharts.dispose();myCharts = null;
}onBeforeMount(() => {destroyChart();
})
</script><style lang="scss" scoped>
.abnormal {position: relative;width: 100%;height: 276px;margin-top: 19px;display: inline-block;.chart {display: inline-block;width: 100%;height: 185px;zoom: 1;}
}
</style>

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

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

相关文章

树形 DP:树的直径

leetCode 104.二叉树的最大深度104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int maxDepth(TreeNode* root) {if(root nullptr) return 0;int lDepth maxDepth(root->left);int rDepth maxDepth(root->right);return max(l…

Java Web——XML

1. XML概述 XML是EXtensible Markup Language的缩写&#xff0c;翻译过来就是可扩展标记语言。XML是一种用于存储和传输数据的语言&#xff0c;它使用标签来标记数据&#xff0c;以便于计算机处理和我们人来阅读。 “可扩展”三个字表明XML可以根据需要进行扩展和定制。这意味…

LV.12 D19 ADC实验 学习笔记

一、ADC简介 1.1 ADC ADC(Analog to Digital Converter)即模数转换器&#xff0c;指一个能将模拟信号转化为数字信号的电子元件 1.2 ADC主要参数 分辨率 ADC的分辨率一般以输出二进制数的位数来表示&#xff0c;当最大输入电压一定时&#xff0c;位数越高&#xff0c…

【数据结构/C++】栈和队列_顺序栈

#include<iostream> using namespace std; #define MaxSize 10 // 1. 顺序栈 typedef int ElemType; struct Stack {ElemType data[MaxSize];int top; } SqStack; // 初始化栈 void init(Stack &s) {// 初始化栈顶指针s.top -1; } // 入栈 bool push(Stack &s, …

2023年c语言程序设计大赛

7-1 这是一道送分题 为了让更多的同学参与程序设计中来&#xff0c;这里给同学们一个送分题&#xff0c;让各位感受一下程序设计的魅力&#xff0c;并祝贺各位同学在本次比赛中取得好成绩。 注&#xff1a;各位同学只需将输入样例里的代码复制到右侧编译器&#xff0c;然后直…

C++之模版初阶(简单使用模版)

前言 在学习C的模版之前&#xff0c;咱们先来说一说模版的概念&#xff0c;模版在我们的日常生活中非常常见&#xff0c;比如我们要做一个ppt&#xff0c;我们会去在WPS找个ppt的模版&#xff0c;我们只需要写入内容即可&#xff1b;比如我们的数学公式&#xff0c;给公式套值&…

@RequestMapping

目录 作用&#xff1a; 位置&#xff1a; 属性 1.value 2.method 3.params 4.header 作用&#xff1a; 该注解是一个用来处理请求地址映射的注解。 位置&#xff1a; 可用于映射一个请求或一个方法&#xff0c;可以用在类或方法上。 用于方法上&#xff0c;表示在类的…

微服务测试怎么做,看看这篇文章就懂了!

开发团队越来越多地选择微服务架构而不是单体结构&#xff0c;以提高应用程序的敏捷性、可扩展性和可维护性。随着决定切换到模块化软件架构——其中每个服务都是一个独立的单元&#xff0c;具有自己的逻辑和数据库&#xff0c;通过 API 与其他单元通信——需要新的测试策略和新…

C++:一文读懂智能指针

C11 引入了 3 个智能指针类型&#xff1a; 当使用智能指针时&#xff0c;我们首先需要包含 memory头文件&#xff0c;这个头文件包含了 C 标准库中智能指针的定义。 1.std::unique_ptr<T> &#xff1a;独占资源所有权的指针。 2.std::shared_ptr<T> &#xff1a;共…

「Verilog学习笔记」信号发生器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 方波的实现&#xff0c;较为简单&#xff0c;只需要设置一个计数器&#xff0c;使输出保持10个时钟为0&#xff0c;跳变为20&#xff0c;再保持10个时钟。依次循环。可以按…

RTMDet原理与代码解析

paper&#xff1a;RTMDet: An Empirical Study of Designing Real-Time Object Detectors official implementation&#xff1a;https://github.com/open-mmlab/mmdetection/tree/main/configs/rtmdet 本文的创新点 Backbone and Neck 在backbone的basic building block中采…

2023年【R1快开门式压力容器操作】考试资料及R1快开门式压力容器操作复审考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 R1快开门式压力容器操作考试资料参考答案及R1快开门式压力容器操作考试试题解析是安全生产模拟考试一点通题库老师及R1快开门式压力容器操作操作证已考过的学员汇总&#xff0c;相对有效帮助R1快开门式压力容器操作复…