Vue3 使用 echarts

echarts 是百度基于 JavaScript 实现的一个开源可视化图表库,主要特点就是可视化类型丰富、动画炫酷、使用简单。
这个教程就简单演示如何在 Vue 3 项目中使用 echarts。

1、导入 echarts
import * as echarts from "echarts";
2、初始化 echarts 并设置图表实例的配置项以及数据
const state = reactive({
  option: {
    legend: {
      x: "center",
      y: "bottom",
    },
    tooltip: {
      trigger: "item", // axis   item   none三个值
      formatter: "{b}:{d}%",
    },
    series: [
      {
        type: "pie",
        radius: "50%",
        label: {
          show: true,
          // formatter: "{b} : {c} ({d}%)", //带当前图例名 + 百分比
          // formatter: "{d}%", //只要百分比
          formatter: "{b}:{d}%",
        },
        labelLine: { show: true },
        data: [
          {
            value: 1956,
            name: "非星级",
          },
          {
            value: 1866,
            name: "一星级",
          },
          {
            value: 1725,
            name: "二星级",
          },
          {
            value: 1535,
            name: "三星级",
          },
          {
            value: 1505,
            name: "四星级",
          },
          {
            value: 1414,
            name: "五星级",
          },
        ],
      },
    ],
  },
});
const initeCharts = () => {
  let myChart = echarts.init(document.getElementById("myChart"));
  // 绘制图表
  myChart.setOption(state.option);
};
onMounted(() => {
  initeCharts();
});
3、设置接收容器
<template>
  <div>
    <div id="myChart" style="width: 500px; height: 500px"></div>
  </div>
</template>
完整代码
<template>
  <div>
    <div id="myChart" style="width: 500px; height: 500px"></div>
  </div>
</template>

<script setup>
import { reactive, ref, onMounted } from "vue";
import * as echarts from "echarts";
const state = reactive({
  option: {
    legend: {
      x: "center",
      y: "bottom",
    },
    tooltip: {
      trigger: "item", // axis   item   none三个值
      formatter: "{b}:{d}%",
    },
    series: [
      {
        type: "pie",
        radius: "50%",
        label: {
          show: true,
          // formatter: "{b} : {c} ({d}%)", //带当前图例名 + 百分比
          // formatter: "{d}%", //只要百分比
          formatter: "{b}:{d}%",
        },
        labelLine: { show: true },
        data: [
          {
            value: 1956,
            name: "非星级",
          },
          {
            value: 1866,
            name: "一星级",
          },
          {
            value: 1725,
            name: "二星级",
          },
          {
            value: 1535,
            name: "三星级",
          },
          {
            value: 1505,
            name: "四星级",
          },
          {
            value: 1414,
            name: "五星级",
          },
        ],
      },
    ],
  },
});
const initeCharts = () => {
  let myChart = echarts.init(document.getElementById("myChart"));
  // 绘制图表
  myChart.setOption(state.option);
};
onMounted(() => {
  initeCharts();
});
</script>

<style lang="scss" scoped></style>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值