Echarts配置(ts)

Apache ECharts

首先安装    npm install echarts

然后cv,(,,◕ ⋏ ◕,,)

在里面有option,是配置项,想要修改的内容在里面修改配置

<div ref="chartRef" class="echarts" />
 
 
 
// 图表
const chartRef = ref(null); // 创建一个 ref 用于图表容器
onMounted(() => {
  const chart = echarts.init(chartRef.value, null, {});
 
  const option = {
    tooltip: {
      trigger: "item",
      show: false // 禁用 Tooltip 显示(鼠标悬浮的文字)
    },
    legend: {
      top: "37%", //按钮上下所在的位置
      left: "center", //让上面的按钮(就是可以点击显示图片内容的)居中
      orient: "vertical" //三个按钮竖着排序
    },
    series: [
      {
        name: "Access From",
        type: "pie",
        radius: ["60%", "90%"], // 饼图的内外半径
        avoidLabelOverlap: false,
        label: {
          show: false,
          position: "center" //修改为center,会使饼图最中间悬浮显示文字
        },
        emphasis: {
          label: {
            show: false, //修改为false, pie图最中间悬浮文字不显示
            fontSize: 40,
            fontWeight: "bold"
          }
        },
        labelLine: {
          show: false
        },
        data: [
          { value: 1048, name: "Search Engine" },
          { value: 735, name: "Direct" },
          { value: 580, name: "Email" }
        ]
      }
    ]
  };
  // 应用配置项
  chart.setOption(option);
});

怎么替换为获得数据?请求异步造成无法渲染怎么办?
watchEffect 是 Vue 3 中的一种响应式副作用函数,它会在依赖的数据(这里是 bingtu.value)变化时自动执行。如果 bingtu.value 有数据,chart.setOption(option) 就会被调用来更新饼图。这样可以确保图表只在数据加载完成后更新。

// 图表
const chartRef = ref(null); // 创建一个 ref 用于图表容器
// 当 bingtu 数据变化时更新图表
watchEffect(() => {
  if (bingtu.value && bingtu.value.length > 0) {
    // 初始化图表
    const chart = echarts.init(chartRef.value);
 
    const option = {
      tooltip: {
        trigger: "item",
        show: false // 禁用 Tooltip 显示(鼠标悬浮的文字)
      },
      legend: {
        top: "37%",
        left: "center",
        orient: "vertical"
      },
      series: [
        {
          name: "Access From",
          type: "pie",
          radius: ["60%", "90%"], // 饼图的内外半径
          avoidLabelOverlap: false,
          label: {
            show: false,
            position: "center" // 修改为center,会使饼图最中间悬浮显示文字
          },
          emphasis: {
            label: {
              show: false, // 修改为false, pie图最中间悬浮文字不显示
              fontSize: 40,
              fontWeight: "bold"
            }
          },
          labelLine: {
            show: false
          },
          data: bingtu.value.map(item => ({
            value: item.value,
            name: item.label
          }))
        }
      ]
    };
 
    chart.setOption(option); // 更新图表
  }
});

如上面的代码所示,由于我的数据类型和他想要的数据类型不一致,所以需要进行修改,便利渲染数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值