vue echarts饼图 文字和图形同颜色

本文将介绍如何在Vue.js项目中使用ECharts库,创建饼图并使图表上的文字与对应图形颜色保持一致,详细阐述配置过程及关键代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现效果:
在这里插入图片描述

<template>
  <div class="Distribution">
    <div id="DistributionChart" style="flex: 1; height: 288px; margin-top: -20px; padding: 0 20px 0 0"></div>
  </div>
</template>
<script>
import { getProposedInvestments } from '@/api/government';
const colors = [
  'rgb(1,231,225)',
  'rgb(229,88,234)',
  'rgb(160,81,235)',
  'rgb(42,178,116)',
  'rgb(233,156,187)',
  'rgb(241,213,100)',
  'rgb(116,216,243)',
  'rgb(55,182,255)',
  'rgb(1,231,225)',
  'rgb(229,88,234)',
  'rgb(160,81,235)',
  'rgb(42,178,116)',
  'rgb(233,156,187)',
  'rgb(241,213,100)',
  'rgb(116,216,243)',
  'rgb(55,182,255)',
  'rgb(1,231,225)',
  'rgb(229,88,234)',
  'rgb(160,81,235)',
  'rgb(42,178,116)',
  'rgb(233,156,187)',
  'rgb(241,213,100)',
  'rgb(116,216,243)',
  'rgb(55,182,255)',
  'rgb(1,231,225)',
  'rgb(229,88,234)',
  'rgb(160,81,235)',
  'rgb(42,178,116)',
  'rgb(233,156,187)',
  'rgb(241,213,100)',
  'rgb(116,216,243)',
  'rgb(55,182,255)',
  'rgb(1,231,225)',
  'rgb(229,88,234)',
  'rgb(160,81,235)',
  'rgb(42,178,116)',
  'rgb(233,156,187)',
  'rgb(241,213,100)',
  'rgb(116,216,243)',
  'rgb(55,182,255)',
];

export default {
  data() {
    return {
      investmentsCateRateData: [],
    };
  },
  mounted() {
    this.getProposedInvestments();
  },
  methods: {
    initMap() {
      var myChart = this.$echarts.init(document.getElementById('DistributionChart'));
      const option = {
        tooltip: {
          show: true,
          trigger: 'item',
        },
        color: colors,
        series: [
          {
            type: 'pie',
            radius: ['30%', '55%'],
            label: {
              show: true,
              fontFamily: 'TencentSans',
            },
            emphasis: {
              label: {
                show: true,
                fontSize: 14,
                fontWeight: 'bold',
              },
            },
            data: this.investmentsCateRateData,
          },
        ],
      };
      myChart.setOption(option);
    },
    getProposedInvestments() {
      getProposedInvestments().then((res) => {
        const { status, data } = res;
        const { proposedInvestmentsCateRate } = JSON.parse(data);
        if (status === 200) {
        // this.investmentsCateRateData=[{label: {color: "rgb(1,231,225)"}
		// 			name: "农业:7.66%"
		// 			value: "7.66"}]
          this.investmentsCateRateData = proposedInvestmentsCateRate.map((item, index) => {
            let cateData = {
              name: item.category + ':' + item.rate,
              value: item.rate.slice(0, item.rate.length - 1),
              label: { color: colors[index] },
            };
            return cateData;
          });
          this.initMap();
        }
      });
    },
  },
};
</script>

over
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值