echart柱状图自动滚动

该博客展示了如何使用ECharts库创建一个带有内部滚动功能的柱状图。代码中,数据每两秒滚动一次,模拟数据更新的效果。通过设置dataZoom组件,实现了图表数据的动态显示,从'一月'到'十二月'的数据在图表中按顺序滚动。
摘要由CSDN通过智能技术生成

效果图

请添加图片描述

代码

<template>
    <div ref="myChart" style="width: 600px; height: 400px;"></div>
</template>

<script>
import * as echarts from 'echarts'

export default {
	mounted() {
        this.initChart()
    },
    methods: {
        initChart() {
            let data = [120, 200, 150, 80, 70, 110, 130, 150, 80, 70, 110, 130]
            let chart = echarts.init(this.$refs.myChart)
            let option = {
            	// 区域缩放
                dataZoom: [
                    { // 第一个 dataZoom 组件
                        type: 'inside',
                        xAxisIndex: 0, // 表示这个 dataZoom 组件控制 第一个 xAxis
                        startValue: 0, // 数据窗口范围的起始数值index
                        endValue: 5, // 数据窗口范围的结束数值index
                    },
                ],
                xAxis: {
                    type: 'category',
                    data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
                },
                yAxis: {
                    type: 'value',
                },
                series: [
                    {
                        data: data,
                        type: 'bar',
                    },
                ],
            }
            option && chart.setOption(option)
			// 设置定时器, 每隔2s判断是否滚动到末尾, 是则重置为初始状态, 否则向前滚动一位
            setInterval(() => {
                if (option.dataZoom[0].endValue == data.length - 1) {
                    option.dataZoom[0].endValue = 5
                    option.dataZoom[0].startValue = 0
                } else {
                    option.dataZoom[0].endValue =
                        option.dataZoom[0].endValue + 1
                    option.dataZoom[0].startValue =
                        option.dataZoom[0].startValue + 1
                }
                chart.setOption(option)
            }, 2000)
        },
    },
}
</script>
如果你想在 ASP.NET 中使用 ECharts 来展示柱状图,并且希望添加一个自动轮播的提示框,可以参考以下代码: ```html <div id="chart" style="width: 600px; height: 400px;"></div> <script src="https://cdn.staticfile.org/echarts/4.7.0/echarts.min.js"></script> <script> // 初始化 ECharts 实例 var myChart = echarts.init(document.getElementById('chart')); // 配置柱状图的数据和样式 var option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar', name: 'sales' }] }; // 设置柱状图的配置项和数据 myChart.setOption(option); // 自动轮播提示框 var currentIndex = -1; setInterval(function () { var dataLen = option.series[0].data.length; // 取消之前高亮的图形 myChart.dispatchAction({ type: 'downplay', seriesIndex: 0, dataIndex: currentIndex }); currentIndex = (currentIndex + 1) % dataLen; // 高亮当前图形 myChart.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: currentIndex }); // 显示提示框 myChart.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: currentIndex }); }, 2000); </script> ``` 这段代码首先创建了一个 ECharts 实例,然后配置了柱状图的数据和样式,接着使用 `setOption` 方法将配置项和数据设置给柱状图。最后,使用 `setInterval` 方法来定时轮播提示框,其中通过 `dispatchAction` 方法来控制图形的高亮和提示框的显示。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值