echarts 环形图 中间显示文字

文章介绍了如何使用ECharts库在JavaScript中创建一个动态交互的饼图,包括鼠标悬停时的数据切换和高亮功能。

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

diagramChart() {
  const chartDom = this.$refs.maingc;
  const myChart = echarts.init(chartDom);
  let index = 0;
  setTimeout(() => {
    myChart.dispatchAction({
      type: "highlight",
      dataIndex: 0, //默认选中第一个
    });
  }, 0);
  myChart.on("mouseover", (e) => {
    if (e.dataIndex != index) {
      myChart.dispatchAction({
        type: "downplay",
        seriesIndex: 0,
        dataIndex: index,
      });
    }
  });
  myChart.on("mouseout", (e) => {
    index = e.dataIndex;
    myChart.dispatchAction({
      type: "highlight",
      seriesIndex: 0,
      dataIndex: e.dataIndex,
    });
  });
  let option;
  option = {
    color: [
      "#ff5555",
      "#6f3dff",
      "#306fdc",
      "#55a3ff",
      "#81e2ff",
      "#00c378",
      "#79c300",
      "#ffa246",
      "#ffd88d",
    ],
    tooltip: {
      show: false,
    },
    legend: {
      y: "bottom",
      orient: "horizontal",
      icon: "rect",
      itemHeight: 12,
      itemWidth: 12,
    },
    series: [
      {
        name: "",
        type: "pie",
        radius: ["40%", "53%"],
        avoidLabelOverlap: true,
        label: {
          show: false,
          position: "center",
        },
        emphasis: {
          label: {
            show: true,
            fontSize: 20,
            formatter: (params) => {
              let { value, name, percent } = params;
              return [
                `{value1| ${value + "亿元"}}`,
                `{empty| ""}`,
                `{value2| ${name}}`,
                `{empty| ""}`,
                `{value3| ${percent + "%"}}`,
              ].join("\n");
            },
            rich: {
              value1: {
                fontSize: 21,
                fontWeight: 900,
                color: "#306fdc",
              },
              value2: {
                fontSize: 13,
                fontWeight: 500,
                color: "rgba(0, 0, 0, 0.60)",
              },
              value3: {
                fontSize: 13,
                fontWeight: 700,
                color: "#000000",
              },
              empty: {
                fontSize: 8,
                fontWeight: 700,
                color: "rgba(0, 0, 0, 0)",
              },
            },
          },
        },
        labelLine: {
          show: true,
        },
        data: [
          { name: "一月", value: 10 },
          { name: "二月", value: 20 },
          { name: "三月", value: 30 },
          { name: "四月", value: 40 },
          { name: "五月", value: 50 },
        ],
      },
    ],
  };
  option && myChart.setOption(option);
},

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

va8zu9ts

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值