echart柱状图无缝轮播 vue3.2
效果图
代码:
<template> <div class="home"> <div ref="myRef"></div> </div> </template> <script setup> import { ref, onMounted, onBeforeUnmount } from 'vue' // import Echarts from '@/utils/echarts' import * as Echarts from 'echarts' /** * 数据 */ const myRef = ref(null) let timer = null /** * 生命周期 */ onMounted(() => { barChart() }) onBeforeUnmount(() => { _clearInterval(timer) }) /** * 函数 */ function barChart () { const chartInstance = myRef.value && Echarts.init(myRef.value) // 控制显示几个柱子 const [startValue, endValue] = [0, 3] // 数据 const data = [ { name: 'Mon', vaule: 120 }, { name: 'Tue', vaule: 200 }, { name: 'Wed', vaule: 150 }, { name: 'Thu', vaule: 80 }, { name: 'Fri', vaule: 40 }, { name: 'Sat', vaule: 110 }, { name: 'Sun', vaule: 120 } ] const xAxisData = data.map(item => item.name) const seriesData = data.map(item => item.vaule) const option = { title: [ { text: ' 数据统计', left: '3%', textStyle: { fontSize: 30, color: '#333', height: 40, width: 40, lineHeight: 40 } } ], xAxis: { type: 'category', data: xAxisData }, // 控制显示几个柱子 dataZoom: { show: false, startValue, endValue }, yAxis: { type: 'value' }, series: { data: seriesData, type: 'bar' } } chartInstance.setOption(option) // 使用定时器 timer = setInterval(() => { const item1 = xAxisData.shift() xAxisData.push(item1) const item2 = seriesData.shift() seriesData.push(item2) chartInstance.setOption({ series: { data: seriesData, type: 'bar' }, xAxis: { type: 'category', data: xAxisData } }) }, 2000) } /** * @param timeId {Number} */ function _clearInterval (timeId) { timeId && window.clearInterval(timeId) } </script> <style scoped> .home > div { height: 500px; width: 800px; } </style>
结语 : 只是拿柱状图示范 其他图形如果有轮播的需求也可以用类似方法 如果有更好的方法可以在评论区告诉我 非常感谢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具