Echarts图表之dispatchAction 操作 固定tooltip显示框

echarts中支持的图表行为,通过dispatchAction触发。

使用dispatchAction操作来固定tooltip显示框,无需鼠标事件响应进入页面默认固定显示框,方便数据展示。

 

dispatchAction固定tooltip显示框需要 tooltip属性为axis

 

 myChart.setOption(option);   //装配mychart

 myChart.dispatchAction({         // 使用dispatchAction
        type: 'showTip',          //tooltip为axis属性 使用 showTip 绑定tooltip
        seriesIndex: 1,                  //seriesIndex  series的第几组
        dataIndex: 2                     // dataIndex  固定位置
    });
    myChart.on('globalout', (e) => {      //定时器  固定显示框
        setTimeout(() => {
            myChart.dispatchAction({
            type: 'showTip',
           //  position:[20,50],             //设置固定位置
            seriesIndex: 1,
            dataIndex: 2
          });
        }, 100);
    });
 

主要代码为定时器里,第一个方法为显示 第二个方法为固定,

 

### 配置 ECharts 柱状图实现自动轮播 Tooltip 为了实现在 ECharts 中柱状图的自动轮播并显示 `Tooltip`,可以采用定时器来模拟用户的交互行为。具体来说,在初始化图表之后设置一个定时器,按照一定的时间间隔触发相应的事件。 #### 初始化图表与数据准备 首先定义好要使用的 HTML 容器以及引入必要的 JavaScript 文件: ```html <div ref="chartARef" id="main" style="width: 600px;height:400px;"></div> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> ``` 接着创建一个新的 ECharts 实例,并加载初始的数据集: ```javascript var chartDom = document.getElementById('main'); var myChart = echarts.init(chartDom); var option; 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' }] }; myChart.setOption(option); ``` #### 设置自动轮播功能 通过设定全局变量保存当前索引位置,并利用 `setInterval()` 方法每隔一段时间更新一次该索引值,进而调用 `dispatchAction()` 来激活对应的提示[^2]。 ```javascript let currentIndex = -1; const timer = setInterval(function () { const 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 }); // 显示 tooltip myChart.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: currentIndex }); }, 2000); // 轮播时间间隔为两秒 ``` 当鼠标悬停在图表上时暂停轮播;离开后再恢复轮播效果[^4]: ```javascript // 当鼠标移到图表上方时停止计时器 myChart.on('mouseover', function () { clearInterval(timer); }); // 当鼠标移出图表区域后重新启动计时器 myChart.on('mouseout', function () { timer = setInterval(() => { /* ... */ }, 2000); }); ``` 以上代码片段展示了如何配置 ECharts 的柱状图以达到自动轮播 `Tooltip` 效果的同时也考虑到了用户体验上的细节处理[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李问水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值