vue3 统计饼图(echarts)

<script lang="ts" setup>
import { ref, onMounted } from "vue";

import * as echarts from "echarts";
const main = ref(); // 使用ref创建虚拟DOM引用,使用时用main.value
onMounted(() => {
  init();
});
function init() {
  // 基于准备好的dom,初始化echarts实例
  const myChart = echarts.init(main.value);
  const schoolData = [
    {
      name:'张三',
      value:4253
    },
    {
      name:'李四',
      value:5691
    },
    {
      name:'王五',
      value:4536
    },
    {
      name:'赵六',
      value:4369
    },
    {
      name:'周七',
      value:5124
    }]
  // 指定图表的配置项和数据
  const option = {
    title: {
      text: '个人存款',
      left: 'center'
    },
    tooltip: {
      trigger: 'item',
      formatter: '<br/>{b} : {c} ({d}%)'
    },
    legend: {
      orient: 'vertical',
      left: 'left',
      data: []
    },
    series: [
      {
        type: 'pie',
        radius: '55%',
        center: ['50%', '60%'],
        data: [{ value: 335, name: '' }]
      }
    ]
  };
// 赋值
  option.series = [
  {
    type: 'pie',
    radius: '55%',
    center: ['50%', '60%'],
    // data: res.data.map((v) => {
    //   return { name: v.name, value: v.value }
    // })
    data: schoolData,
  }
]
// 赋值
// option.legend = [
//   {
//    data: schoolData.map((a) => a.name)
//   }
// ]
// 赋值
option.legend.data = schoolData.map((a) => a.name)

  // 使用刚指定的配置项和数据显示图表。
  myChart.setOption(option);
}
</script>

<template>
  <div ref="main" style="width: 100%; height: 400px"></div>
</template>

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3 和 ECharts 都是很流行的前端技术,它们可以很好地结合使用来展示饼图。下面是一个简单的例子来演示如何在 Vue3 中使用 ECharts 来绘制饼图: 首先,你需要安装 EChartsVue3 的相关依赖: ```bash npm install echarts vue@next ``` 然后,在你的 Vue3 组件中引入 ECharts 和相关的样式文件: ```javascript import { createApp } from 'vue'; import ECharts from 'echarts'; import 'echarts/lib/chart/pie'; import 'echarts/lib/component/tooltip'; import 'echarts/lib/component/title'; import App from './App.vue'; const app = createApp(App); app.config.globalProperties.$echarts = ECharts; app.mount('#app'); ``` 接下来,在你的组件中使用 ECharts 组件来绘制饼图: ```vue <template> <div id="chart" style="width: 400px; height: 400px;"></div> </template> <script> export default { mounted() { const chart = this.$echarts.init(document.getElementById('chart')); const option = { title: { text: '饼图示例' }, series: [ { type: 'pie', data: [ { value: 335, name: '直接访问' }, { value: 310, name: '邮件营销' }, { value: 234, name: '联盟广告' }, { value: 135, name: '视频广告' }, { value: 1548, name: '搜索引擎' } ] } ] }; chart.setOption(option); } }; </script> ``` 上述代码中,我们在组件的 `mounted` 钩子中初始化 ECharts 实例,并通过 `chart.setOption(option)` 方法来设置饼图的数据和样式。 最后,在你的 HTML 文件中添加一个容器元素,并将你的组件挂载到该元素上: ```html <div id="app"></div> ``` 这样,你就可以在 Vue3 中使用 ECharts 绘制饼图了。当然,你也可以根据自己的需求来配置更多的饼图选项,详情请参考 ECharts 的官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值