vue3之echarts区域折线图

vue3之echarts区域折线图

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

<template><div class="abnormal"><div class="per">单位:{{ obj.data?.unit }}</div><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: [ 0, 0, 0, 1354, 0, 254, 0, 468, 0, 16, 498, 0],unit: '次'},op: {tooltip: {},grid: {top: '5%',left: '0%',right: '2%',bottom: '0%',containLabel: true,},xAxis: null,yAxis: [{type: 'value',nameLocation: 'end',axisTick: {show: false,},axisLine: {show: false,},axisLabel: {textStyle: {fontSize: 13,color: '#ffffff',fontFamily: 'DINPro-Regular',},padding: [0, 0, 0, -10],},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.tooltip = {};obj.op.tooltip = {trigger: 'axis',axisPointer: {type: 'shadow',lineStyle: {color: 'rgba(135, 140, 147, 0.6)',},},formatter(params) {return `${params[0].name}月 : ${params[1].value}`;},backgroundColor: 'rgba(45, 105, 133, 0.8)',borderWidth: 0,textStyle: {color: '#DAE3E7',fontFamily: 'DINPro-Regular',},};obj.op.xAxis = {type: 'category',boundaryGap: false, // 坐标轴两边留白data: obj.data.xdata,axisLabel: {margin: 10,textStyle: {color: '#ffffff',fontSize: 13,fontFamily: 'DINPro-Regular',},},axisLine: {lineStyle: {color: 'rgba(160, 169, 192, 0.6)',},},axisTick: {show: true,},};obj.op.series.push({name: 'bg',type: 'bar',data: [...Array(obj.data.ydata.length).fill(Math.max(...obj.data.ydata) === 0 ? 10 : Math.max(...obj.data.ydata))],barWidth: '50%',itemStyle: {color: 'rgba(255, 255, 255, 0.02)',},},);obj.op.series.push({type: 'line',symbol: 'none',itemStyle: {normal: {color: '#68A4FF',lineStyle: {color: '#68A4FF',width: 3,},areaStyle: {// 区域填充样式color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{offset: 0,color: 'rgba(104,164,255,0)',}, {offset: 0.5,color: 'rgba(104,164,255,0.6)',},{offset: 1,color: 'rgba(104,164,255,1)',},]),},},},toolbox: {show: false,},data: obj.data.ydata,},);myCharts.setOption(obj.op);
}const initChart = () => {myCharts = echarts.init(chartsRef.value);flushChart();
} onMounted(() => {initChart();
})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;.per {font-size: 12px;color: rgba(255, 255, 255, 0.5);margin-bottom: 19px;}.chart {display: inline-block;width: 100%;height: 185px;zoom: 1;}
}
</style>

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

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

相关文章

【5k字长文 | Vue学习笔记】#1 认识Vue对象和基础语法

Vue是一个非常流行的渐进式JavaScript框架&#xff0c;渐进式指的是自底向上&#xff0c;从小组件逐渐向上构成整个项目&#xff0c;渐进式还可以理解为&#xff1a;用什么就拿什么&#xff0c;每个组件只做自己的事&#xff0c;尽可能解耦合。 本节我们将学习简单的Vue实例&a…

Sublime Text:代码编辑器的卓越典范

Sublime Text是一款高效、强大且灵活的代码编辑器&#xff0c;在开发社区中广受欢迎。它不仅提供了丰富的功能&#xff0c;还具备美观的界面和卓越的性能&#xff0c;成为了众多开发者的首选工具。 Sublime Text的优点 高性能&#xff1a;Sublime Text具有极高的启动速度和响…

PDF控件Spire.PDF for .NET【转换】演示:自定义宽度、高度将 PDF 转 SVG

我们在上一篇文章中演示了如何将 PDF 页面转换为 SVG 文件格式。本指南向您展示如何使用最新版本的 Spire.PDF 以及 C# 和 VB.NET 指定输出文件的宽度和高度。 Spire.Doc 是一款专门对 Word 文档进行操作的 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻…

安装R和Rstudio

目录 一、安装R 二、安装Rstudio 一、安装R R官网&#xff1a;官网链接 点击CRAN 选择一个镜像 我用的winows&#xff0c;所以我选择 download R for windows 进去之后选择 base 点击下载 找到刚才下载的可执行文件&#xff0c;安装 选择语言 下一步 选择一个位置安装 下一…

电商低价的治理过程

品牌遇到假货可以打假&#xff0c;如果是电商的低价链接&#xff0c;又该如何治理呢&#xff0c;所有的工作其实都可以流程化&#xff0c;低价治理也是如此&#xff0c;先监测再治理&#xff0c;这是大致的流程&#xff0c;但要做好控价&#xff0c;还要将流程更加细化&#xf…

【C++11】异常 {try/catch语句语法;异常抛出和捕获的匹配原则,异常的栈展开,异常的重新抛出;异常继承体系,异常声明;异常的优缺点,异常安全问题}

一、C异常的基本概念 C语言传统的错误处理机制&#xff1a; 终止程序&#xff0c;如assert&#xff0c;缺陷&#xff1a;一旦触发assert就会终止程序&#xff0c;用户难以接受。在发生内存错误&#xff0c;除0错误时&#xff0c;也会终止程序。返回错误码&#xff0c;缺陷&am…

如何选择数据恢复软件:11 个最佳数据恢复软件比较

您可能已经尝试过许多免费的恢复程序&#xff0c;但它们都不起作用&#xff0c;对吧&#xff1f;这就是您正在寻找最好的数据恢复软件的原因。 我们去过那里。根据我们的经验&#xff0c;大多数免费软件并不能解决这个问题。有时&#xff0c;当我们在 PC 上运行恢复程序时&…

大模型重塑软件设计,南京真我加入飞桨技术伙伴,大模型生态圈成员又添一员!

为帮助伙伴更快、更好的应用大模型技术&#xff0c;飞桨技术伙伴体系及权益基于星河共创计划全面升级&#xff0c;通过丰富的场景、技术、算力、品牌等资源&#xff0c;为伙伴企业提供一站式的大模型资源对接&#xff0c;全面降低创建AI原生应用的门槛。 近日&#xff0c;南京…

代码随想录-刷题第二天

977. 有序数组的平方 题目链接&#xff1a;977. 有序数组的平方 思路&#xff1a;双指针思想&#xff0c;数组是有序的且含有负数&#xff0c;其中元素的平方一定是两边最大。定义两个指针&#xff0c;从两端开始向中间靠近&#xff0c;每次比较两个指针的元素平方大小&#…

浅谈面向对象

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 从某个角度说&#xff…

GPT-4充当“规划师、审计师”,颠覆性双层文生图表模型

DALL-E 3、Midjourney、Stable Diffusion等模型展现出了强大的创造能力&#xff0c;通过文本便能生成素描、朋克、3D、二次元等多种类型的高质量图片&#xff0c;但在生成科学图表&#xff08;柱状、直方、箱线、树状等&#xff09;方面却略显不足。 这是因为模型在生成图表时…

微信怎么发状态?简单教程,一学就会!

微信是一个非常实用的社交应用&#xff0c;不仅提供了基础的聊天功能&#xff0c;还推出了很多其他有趣的功能。比如微信个人状态&#xff0c;这个功能可以让用户随时随地分享自己的心情和动态。那么&#xff0c;微信怎么发状态呢&#xff1f;本文将为大家介绍有关微信发状态的…