饼图循环跳动

该文章展示了如何利用Echarts库创建一个饼图,并设置定时器动态改变图表中数据的高亮状态。代码详细说明了如何初始化图表,定义颜色,以及通过dispatchAction方法切换并高亮显示图表的不同部分。

加定时器

var  echarts1Data:[
        {
        'name': '大专',
        'value': 1.45
      }, {
        'name': '本科',
        'value': 2.93
      }, {
        'name': '硕士',
        'value': 3.15
      }
      ]
  echarts1(){
      var myChart = echarts.init(document.getElementById('echarts1'));
      var colorList = ['#ffdc50','#3fffea','#617ee4']
      var option = {
        tooltip: {
          trigger: 'item',
          textStyle: {
            fontSize: 36
          },
        },
        series: [{
          type: 'pie',
          center: ['50%', '50%'],
          radius: ['35%', '75%'],
          clockwise: true,
          avoidLabelOverlap: true,
          hoverOffset: 15,
          itemStyle: {
            normal: {
              color: function(params) {
                return colorList[params.dataIndex]
              }
            }
          },
          label: {
            show: true,
            formatter: '{b|{b}}\n{c|{c}%}',
            rich: {
              b: {
                color:"#fff",
                fontSize:45
              },
              c: {
                fontSize:55,
                fontFamily:"DIN"
              }
            }
          },
          labelLine: {
            normal: {
              length: 50,
              length2: 100,
              lineStyle: {
                width: 1
              }
            }
          },
          data:echarts1Data
        }]
      };
	  //重点是这里↓↓↓↓↓↓↓↓↓↓↓↓
      myChart.setOption(option)
      myChart.currentIndex = -1;
      //myChart.setOption(option);
      //console.log(option.series[0].data[0]);
      setInterval(function () {
        var dataLen = option.series[0].data.length;
        // 取消之前高亮的图形
        myChart.dispatchAction({
          type: 'downplay',
          seriesIndex: 0,
          dataIndex: myChart.currentIndex
        });
        myChart.currentIndex = (myChart.currentIndex + 1) % dataLen;
        // 高亮当前图形
        myChart.dispatchAction({
          type: 'highlight',
          seriesIndex: 0,
          dataIndex: myChart.currentIndex
        });
      }, 3000);
      window.addEventListener("resize", function () {
        myChart.resize();
      });
    },
要实现Vue 3中的循环播放,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Vue 3和相关的数据可视化库。例如,你可以使用`vue-chartjs`或`echarts`等库来创建。 2. 在你的Vue组件中,导入所需的数据可视化库和组件。例如,如果你选择使用`vue-chartjs`,可以这样导入: ```javascript import { Pie } from 'vue-chartjs'; ``` 3. 创建一个新的Vue组件,并继承所选择的数据可视化库提供的组件。例如,继承`Pie`组件: ```javascript export default { extends: Pie, // 其他组件选项 } ``` 4. 在组件中,设置的数据和选项。你可以使用Vue的响应式数据来实时更新。例如,在组件的`data`中定义一个存储数据的数组: ```javascript data() { return { pieData: [ // 数据 ], }; }, ``` 5. 在组件的`mounted`生命周期钩子中,使用父类提供的方法来渲染。例如,使用`this.renderChart()`方法: ```javascript mounted() { this.renderChart(this.pieData, options); }, ``` 6. 然后,你可以编写一个循环函数来更新的数据。根据你的需求,可以使用`setTimeout`或`setInterval`函数来定时调用该函数,并更新数据。例如: ```javascript methods: { startAnimation() { // 循环函数,更新数据 // 使用setTimeout或setInterval来定时调用该函数 } }, ``` 7. 最后,在组件的模板中,使用所选择的数据可视化库提供的组件,并将的容器绑定到组件中定义的元素上。例如,在`<template>`中添加以下代码: ```html <div> <pie :data="pieData"></pie> </div> ``` 这样,你就可以实现Vue 3中的循环播放了。记得根据你选择的数据可视化库的文档和示例进行相应的配置和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值