echarts——实现自动轮播展示tooltips——技能提升

这篇具有很好参考价值的文章主要介绍了echarts——实现自动轮播展示tooltips——技能提升。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景

最近在做echarts看板的时候,经常会遇到下面的这种情况,给出的数值比较相近,所以在页面的展示上会出现重叠的情况。但是又无法保证数值能够有很大程度的分开。(如何数值有很大的分离,必须10以下,200以上这种的,就不会有这种问题出现)。

如果遇到这种数值相近的情况,则可以通过轮播展示tooltips的方式来处理:
echarts柱状图自动切换tooltip,js必会知识点,前端基础知识,javascript知识点,echarts,前端,javascript

1.轮播展示tooltips的方法

 //轮播tootip
this.timer = null;
function lunboEcharts(echartsId, dataLen,currentIndex=-1) {
    this.timer = setInterval(() => {
        echartsId.dispatchAction({
            type: 'downplay',
            seriesIndex: 0,
            dataIndex: currentIndex
        });
        currentIndex = (currentIndex + 1) % dataLen;
        echartsId.dispatchAction({
            type: 'highlight',
            seriesIndex: 0,
            dataIndex: currentIndex,
        });
        echartsId.dispatchAction({
            type: 'showTip',
            seriesIndex: 0,
            dataIndex: currentIndex
        });
    }, 3000)
}

2.封装的渲染图表的方法

//柱状图2
function GradientColumn2(id, xaxisData, yaxisData,flash=false) {
   var id = echarts.init(document.getElementById(id));
   let option = {
       legend: {
           x2: '20px',
           y: "0",
           itemWidth: 10,
           itemHeight: 10,
           icon: "circle",
           textStyle: { //图例文字的样式
               color: 'white',
               fontSize: 15
           },
       },
       tooltip: {
           trigger: "axis",
           axisPointer: {
               type: "shadow",
           },
           backgroundColor: "rgba(255,255,255,0.75)",
           extraCssText: "box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.3);",
           textStyle: {
               fontSize: 14,
               color: "#000",
           },
           formatter: (params) => {
               var html = params[0].axisValue+'<br>';
               params.forEach((item,index)=>{
                   html += ''+item.seriesName+':'+item.value+'<br>';
               })
               return html;
           },
       },
       color: ["#4992FF", "#58D9F9", "#7CFFB2", "#f90"],
       grid: {
           x: 30,
           y: 50,
           x2: 40,
           y2: 30,
           containLabel: true,
       },
       xAxis: [
           {
               type: "category",
               axisLabel: {
                   interval: 0,
                   color: "#fff",
                   fontSize: 12,
               },
               axisLine: {
                   lineStyle: {
                       //y轴网格线设置
                       color: "#ccc",
                       width: 1,
                   },
               },

               axisTick: {
                   show: false,
               },
               data: xaxisData,
           },
       ],
       yAxis: [
           {
               name: '',
               type: "value",
               nameTextStyle: {
                   color: "#fff",
                   fontWeight: 400,
                   fontSize: 14,
               },
               axisTick: {
                   show: false,
               },
               axisLine: {
                   show: true,
                   lineStyle: {
                       color: "#555",
                       width: 1,
                   },
               },
               splitLine: {
                   show: true,
                   lineStyle: {
                       color: "#333",
                       width: 1,
                   },
               },
               axisLabel: {
                   show: true,
                   color: "#999",
                   fontSize: 12
               },
           },
       ],
       series: yaxisData,
   };
   id.setOption(option);
   if (flash) lunboEcharts(id, xaxisData.length)
   
}

3.鼠标移入移出时,禁止滚动的写法——在2步骤中添加以下代码:

//hover选中
      myChart.on('mouseover', (e) => {
        let currentIndex = e.dataIndex;
        clearInterval(this.timer);
        console.log('鼠标移入了', currentIndex, this.timer);
        myChart.dispatchAction({
          type: 'downplay',
          seriesIndex: 0,
          dataIndex: currentIndex,
        });
      });
      myChart.on('mouseout', (e) => {
        let currentIndex = e.dataIndex;
        clearInterval(this.timer);
        this.lunboEcharts(myChart, dataX.length, currentIndex);
        console.log('鼠标移出了', currentIndex);
      });

4.汇总:上面方法中的重点内容如下:

下面是自动轮播时,展示的内容结构:
echarts柱状图自动切换tooltip,js必会知识点,前端基础知识,javascript知识点,echarts,前端,javascript文章来源地址https://www.toymoban.com/news/detail-776067.html

tooltip: {
    trigger: "axis",
    axisPointer: {
        type: "shadow",
    },
    backgroundColor: "rgba(255,255,255,0.75)",
    extraCssText: "box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.3);",
    textStyle: {
        fontSize: 14,
        color: "#000",
    },
    formatter: (params) => {
        var html = params[0].axisValue+'<br>';
        params.forEach((item,index)=>{
            html += ''+item.seriesName+':'+item.value+'<br>';
        })
        return html;
    },
},

到了这里,关于echarts——实现自动轮播展示tooltips——技能提升的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Cesium和Echarts的完美集成展示3D柱状图、折线图和饼状图

    在本文中,我们将介绍如何将Cesium和Echarts两个强大的数据可视化工具进行集成,实现在Cesium地球上展示3D柱状图、折线图和饼状图的功能。Cesium是一个用于创建基于Web的地球浏览和可视化应用程序的JavaScript库,而Echarts是一个功能强大的数据可视化库,支持多种图表类型。 首

    2024年02月04日
    浏览(44)
  • echarts——柱状图,Y轴不显示,series内容展示在Y轴附近——基础积累

    最近看到同事在做下面效果的柱状图,效果图如下: 1.竖向柱状图——改为横向柱状图 需要将xAxis中的type:\\\'category\\\'改到yAxis中的type中 也就是说哪个轴的type是category,哪个轴就是主轴,X轴是主轴则柱状图是竖向的,Y轴是主轴则柱状图是横向的。 2.隐藏Y轴—— yAxis中的show设置

    2024年02月13日
    浏览(23)
  • echarts饼图:实现多层图表同步自动轮播,鼠标悬浮时停止轮播,移出鼠标后重新开始轮播效果

    需要用echarts实现一个圆环饼图,在圆环中心显示每个系列的具体数据,加载成功后图表系列自动高亮轮播展示;当用户鼠标悬浮某一系列的图形时,停止自动轮播并高亮显示该图形,移出鼠标后重新开始轮播 echarts圆环饼图示例 (开发echarts图表时,对照配置项文档和API文档

    2024年02月13日
    浏览(35)
  • echarts 实现 3d 柱状图

    实现要求 能够调整大小 实现3d效果,可以改变颜色 前置环境 效果 调整大小和颜色 代码 baseCharts.vue 使用 10.12 更新 效果 代码 使用

    2024年02月11日
    浏览(33)
  • 通过Echarts怎样实现立体柱状图

    大家好,我是梁木由。之前在做大屏可视化项目时,UI设计了一个立体形状的柱状图,根据之前做的一些图表的项目没有能复用的,没有做过这种立体形状的图表,打开echarts也没看到有相关的demo,看下如何实现 来看下UI设计师给到的设计图 上述设计图种柱状图都是立体的样

    2023年04月22日
    浏览(33)
  • vue+echarts 实现地图tooltip点击事件;toolTip数据动态渲染;同时鼠标滑过涟漪点时实现地图多区域联动

    最终做出来的效果是这样的: 最近做项目时,遇到这样的需求:         1、toolTip上的数据根据后台动态渲染         2、鼠标移入地图涟漪点时显示tootTip,点击toolTip上的文字,携带动态数据id进行路由跳转         3、鼠标移入地图涟漪点,与涟漪点相关的省份多区域联动

    2024年02月09日
    浏览(43)
  • vue3 echarts实现3D立体柱状图效果,多柱状图

    使用插件vchart+echarts5.x按需引入实现 需要注意下,底下的椭圆,是在柱子底下“透”出来,颜色应该暗一点,才能视觉上看着有立体感。 成品,还原了大部分设计效果

    2024年02月06日
    浏览(35)
  • echart 实现多柱状图+多折线图

    当图表中存在多个柱状图时,如何让每条折线折点对应在每个柱状图中点位置?  配置如下: 图例如下:

    2024年02月11日
    浏览(28)
  • vue echarts实现3D效果柱状图

    在vue2项目里面,研究了哈,这里记录下eacharts 实现3D效果柱状图 在main.js引入eacharts 展示效果:大屏demo

    2024年02月15日
    浏览(34)
  • ECharts实现简单饼图和柱状图

    前端使用vue,后端使用SpringBoot 前端使用vue,后端使用SpringBoot Python可视化案例数据资源-CSDN文库 可以点个免费的赞吗!!!    

    2024年01月21日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包