IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Echarts——饼图的vue组件 -> 正文阅读

[JavaScript知识库]Echarts——饼图的vue组件

导入:data数据即可。
格式:[{
name:‘’,
value:0
}]

<template>
  <el-card style="width: auto;">
    <div slot="header" class="clearfix">
      <span>故障类别可视化</span>
    </div>
    <div ref="fault_pie" style="height: 400px;width: 100%">

    </div>
  </el-card>
</template>

<script>

export default {
  props:{
    data:{
      type:Array,
    }
  },
  name: "piechart",
  watch: {
    data: {
      deep: true,
      handler: function (val, oldVal) {
        this.initChart();
      }
    }
  },
  methods:{
    initChart(){
      var chartDom = this.$refs.fault_pie;
      var myChart = this.$echarts.init(chartDom);
      var option;

      option = {
        tooltip: {
          trigger: 'item'
        },
        legend: {
          top: '5%',
          left: 'center'
        },
        series: [
          {
            name: '故障类别',
            type: 'pie',
            radius: ['40%', '70%'],
            avoidLabelOverlap: false,
            itemStyle: {
              borderRadius: 10,
              borderColor: '#fff',
              borderWidth: 2
            },
            label: {
              show: false,
              position: 'center'
            },
            emphasis: {
              label: {
                show: true,
                fontSize: 30,
                fontWeight: 'bold',
                formatter: '{c}个\n\n{b}'
              },
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: 'rgba(0, 0, 0, 0.5)'
              }
            },
            labelLine: {
              show: false
            },
            data: []
          }
        ]
      };

      console.log(this.data);
      option.series[0].data = this.data;
      myChart.setOption(option);

      let data = option.series[0].data;
      var i = 0;
      var name;
      var looper = () => {
        i++;
        if (i === data.length) {
          i = 0;
        }
        name = data[i].name;
        myChart.dispatchAction({
          type: 'downplay',
          seriesIndex: 0,
          dataIndex: i === 0 ? data.length - 1 : i - 1,
        });

        myChart.dispatchAction({type: 'highlight', seriesIndex: 0, dataIndex: i});
        return looper;
      };
      let timer = setInterval(looper(), 3000);

      myChart.on('mouseover', params => {
        window.clearInterval(timer);
        //如果鼠标移入正在高亮的数据段时,不取消高亮
        if (i != params.dataIndex) {
          myChart.dispatchAction({
            type: 'downplay',
            seriesIndex: 0,
            dataIndex: i,
          });
        }

        //鼠标移出后从鼠标位置开始循环
        i = params.dataIndex;
        name = data[i].name;
      });

      myChart.on('mouseout', params => {
        timer = setInterval(looper(), 3000);
      });

    }
  }
}
</script>

<style scoped>

</style>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 10:59:18  更:2022-12-25 11:02:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/22 18:18:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码