vue echarts 画饼图

在这里插入图片描述

页面:

    {{--饼图--}}
    <template>
{{--    <div class="col-md-12">--}}
{{--      <div id="mychart4" class="col-md-4" style="height: 400px">--}}
{{--      </div>--}}
{{--    </div>--}}
      
		<el-col :span="8">
		   <div id="mychart4" :style="{width: '100%', height: '400px'}">
		   </div>
		 </el-col>
    </template>

在这里插入图片描述

  pie_data: [],  //饼图
  myChart: {},
  pieName: [],



/*
 * 再画个饼给秃吃
 **/
  drawPieChart(){
      var that = this;
      var pie_title =  "制板未达成原因";
      let select_type = that.selectType;
      if (select_type == 2){
        pie_title =  "样品未达成原因";
      }
      for (let i = 0; i < that.pie_data.length; i++) {
        that.pieName[i] = that.pie_data[i].name;
      }
      var option;
      option = {
        // xAxis: {
        // },
        // yAxis: {
        // },
        legend: {
          // 图例
          data: that.pieName2,
          right: "10%",
          top: "10%",
          orient: "vertical"
        },
        title: {
            // 设置饼图标题,位置设为顶部居中
            text: pie_title,
            //子标题
            subtext: sub_title,
            top: "0%",
            left: "center",
            //子标题字体大小
            subtextStyle:{
              fontSize: 16,
              fontWeight: 500,
              color: '#000'
            },
            //鼠标移入显示
            tooltip: {
              trigger: 'item',
              formatter: '{a} : <br/> {b} : {c} <br/>百分比 : {d}%' //{a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比
            },
        },

        series: [
         {
            name: sub_title, //{a}(系列名称)
            type: "pie",
            data: that.pie_data,
            label: {
				show: true,
                //color: 'inherit', //label与饼图区域颜色 一致
                //formatter: "{b}:{c} ({d}%)" ,// b名称,c对应值,d百分比
                //formatter: "{b}:\n{c} ({d}%)" , //加回车
                //formatter: '{d}%' ,//只要百分比
				//设置label的字体大小
                "normal": {
                  "show": true,
                  //"position":'inner', //标签的位置
                  //label的字体
                  "textStyle": {
                    "fontSize": 12,
                    "fontWeight" : 200,
                    //"color": "#000"  //指定颜色
                    "color": 'inherit', //label与饼图区域颜色 一致
                  },
                  //formatter: "{b}:{c} ({d}%)" ,// b名称,c对应值,d百分比
                  //formatter:"{b}:{d}%" ,
                  //formatter: "{b}:\n{c} ({d}%)" ,
                  //设置label的颜色
                  //formatter: function (params) {
                    // return params.value;
                      return params.seriesName + ' \n ' + params.value;
                  //},
                  formatter: "{b}: {a|{d}%}",
                  rich: {
                    a: {
                      color: "#17b3e9",
                    },
                  },

                },
            },
            itemStyle: {
                //这里是更添加阴影
                emphasis: {
                  shadowBlur: 10,
                  shadowOffsetX: 0,
                  shadowColor: 'rgba(0, 0, 0, 0.5)'
                },
                //这里是更改饼图颜色
                normal:{
                  color:function(params) {
                    var colorList = [
                      '#2F4554','#C23531'
                    ];
                    return colorList[params.dataIndex]
                  }
                }
            },
            radius: "50%", //饼图半径

          }
        ]

      };

      var chartDom = document.getElementById('mychart2');
      var myChart = echarts.init(chartDom);
      option && myChart.setOption(option);
      
      //初始化echarts
      //var myChart = echarts.init(document.getElementById('main'));
	  //var myChartA = echarts.init(document.getElementById('mainA'));
	  //var myChartB = echarts.init(document.getElementById('mainB'));
      //加载echarts配置项
	  //myChart.setOption(option);
	  //myChartA.setOption(option);
	  //myChartB.setOption(option);
  
       //随着屏幕大小调节图表 自适应

        //方法一:
        // window.addEventListener("resize",function (){
        //   myChart.resize();
        //   myChartA.resize();
        //   myChartB.resize();
        // });
        //
        //方法二:
        // window.onresize = function(){
        //   myChart.resize();
        //   myChartA.resize();
        //   myChartB.resize();
        // }
    },

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue2中使用echarts饼状图,可以按照以下步骤进行: 1. 安装echarts 在项目中安装echarts,可以使用npm或yarn进行安装,命令如下: ``` npm install echarts --save ``` 或者 ``` yarn add echarts ``` 2. 引入echarts 在需要使用echarts的组件中引入echarts,可以使用以下方式: ```javascript import echarts from 'echarts' ``` 3. 创建echarts实例 在组件的mounted钩子函数中创建echarts实例,代码如下: ```javascript mounted () { // 基于准备好的dom,初始化echarts实例 const myChart = echarts.init(this.$refs.chart) // 绘制图表 myChart.setOption(this.chartOptions) } ``` 其中,this.$refs.chart是一个DOM元素,用于渲染echarts图表。this.chartOptions是一个包含echarts配置选项的对象,可以根据需要进行设置。 4. 设置饼状图的配置选项 在data中定义一个包含饼状图数据的数组,然后在chartOptions中设置饼状图的配置选项,代码如下: ```javascript data () { return { pieData: [ {value: 335, name: '直接访问'}, {value: 310, name: '邮件营销'}, {value: 234, name: '联盟广告'}, {value: 135, name: '视频广告'}, {value: 1548, name: '搜索引擎'} ] } }, chartOptions: { title: { text: '饼状图示例', subtext: '数据来自网络' }, tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' }, legend: { orient: 'vertical', left: 10, data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎'] }, series: [ { name: '访问来源', type: 'pie', radius: '50%', data: this.pieData, itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] } ``` 其中,title、tooltip、legend和series是饼状图的配置选项,可以根据需要进行设置。在series中设置data为之前定义的pieData数组,用于展示饼状图数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值