当前位置: 首页 > news >正文

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.lryc.cn/news/246859.html

相关文章:

  • 有一种浪漫,叫接触Linux
  • 构建 App 的方法
  • laravel实现发送邮件功能
  • 概要设计检查单、需求规格说明检查单
  • 达梦列式存储和clickhouse基准测试
  • 【Web】NewStarCtf Week2 个人复现
  • Python实现Windows服务自启动、禁用、启动、停止、删除
  • 【华为OD题库-043】二维伞的雨滴效应-java
  • 百度手机浏览器关键词排名优化——提升关键词排名 开源百度小程序源码系统 附带完整的搭建教程
  • Git 的基本概念和使用方式。
  • MarkDown学习
  • 案例:某电子产品电商平台借助监控易保障网络正常运行
  • IntelliJ IDEA 中有什么让你相见恨晚的技巧
  • 游戏被攻击了怎么办
  • MySQL 索引类型
  • 哈希表——闭散列表
  • 【ArcGIS Pro微课1000例】0036:栅格影像裁剪与提取(矢量范围裁剪dem高程数据)
  • Doris-Routine Load(二十七)
  • linux驱动.之 网络udp应用层测试工具demon(一)
  • 【Flutter】graphic图表的快速上手
  • DeepMind 推出 OPRO 技术,可用于优化 ChatGPT 提示
  • 企业网络中的身份安全
  • 智能优化算法应用:基于正余弦算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 创建一个带有背景图层和前景图层的渲染窗口
  • Docker 运行 Oracle Autonomous Database Free Container
  • 《2023全球隐私计算报告》正式发布!
  • JAVA sql 查询2
  • 为第一个原生Spring5应用程序添加上Log4J日志框架!
  • 单片机复位电路
  • 11.28 知识回顾(Web框架、路由控制、视图层)