Echarts——饼状图

<template>

  <div class="home">

    <!-- 根据传递的id显示不同的dom节点,这是一个饼形图 -->

    <div :id="id" style="width: 500px;height: 300px;" v-if="id=='myChart'"></div>

    <div :id="id" style="width: 500px;height: 300px;" v-if="id=='myChartTwo'"></div>

    <div :id="id" style="width: 500px;height: 300px;" v-if="id=='myChartThree'"></div>

    <div :id="id" style="width: 500px;height: 300px;" v-if="id=='myChartFour'"></div>

  </div>

</template>




<script>



export default {



 props:{

  opinion:{

          required:true,

      },

  opinionData:{

      required:true,

  },

  title:{

      required:true,

  },

  id:{  required:true,},

  echarsOptionsName:{required:false,}

 },

 watch:{

  opinion:{

        handler(newValue,oldValue){

          // opinion变化才会触发

          this.$nextTick(function () {

      this.drawPie(this.id);

  })



          },

          deep:true,//深度监听

          immediate:true, //打开页面立即监听一次

      },

 },

  data(){return{

      charts: "",

  }},

  created(){

  },

  methods:{

    drawPie(id) {

      //确定一个挂载点

      this.charts = this.$echarts.init(document.getElementById(id));



      this.charts.setOption({

        //标题

        title: {

                        text: this.title,

                        x: 'left',

                        y:'top',

                    },

        //提示组件,

        tooltip: {

          trigger: "item",

        },

        //颜色组件

        legend: {

          orient: "vertical",

          x: "left",

          y:'bottom',

          data: this.opinion,

        },

        //饼状图

        series: [

          {

            name: this.title,

            type: "pie",

            avoidLabelOverlap: true,

            center: [284.97, 160.71],

            label: {

              normal: {

                position: "outside",

                show : true,

              },

              emphasis: {

                show: true,

                textStyle: {

                  fontSize: "30",

                  fontWeight: "blod",

                },

              },

         



            },

            //提示组件,item主要用于散点图和饼形图,params参数在组件的移入触发,

            tooltip:{

                trigger:'item',

                formatter:(parmas)=>{

                  return this.title+'<br/>'+this.echarsOptionsName[parmas.dataIndex]+':'+'&nbsp'+parmas.data.value

                }



              },

            data: this.opinionData,

          },

        ],

      });

    },



  },

   //调用

   mounted() {

    // console.log(this.opinion)

    //   console.log(this.opinionData)

   



},

}

</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值