vue3+ts下的echarts基本写法

本文介绍了如何在Vue项目中使用ECharts库创建图表,包括设置数据、初始化图表实例、以及在DOM上挂载和配置图表选项的过程。

官方文档:

快速上手 - 使用手册 - Apache ECharts

<template>
    <div class='con'>
        <header>

        </header>
        <section>
            <!--1-->
            <div class="echart-box" id="main" ref="box"></div>
        </section>
    </div>
</template>

<script lang='ts' setup>
/** 接口 */
import { reactive, toRefs, ref, computed, onMounted } from 'vue';
import useCurrentInstance from '@/api/useCurrentInstance';
import * as echarts from 'echarts';
const { proxy } = useCurrentInstance()
/** prop */
/** 计算属性*/
//const xx = computed(() => [])
/** data */
const state = reactive({
    tableData: []
})
const { tableData} = toRefs(state);
//2
const box=ref();
/** 监听 */
/** 生命周期 */
onMounted(() => {
    //3
    showEcarts();
})

//4
const showEcarts=()=> {
    // 基于准备好的dom,初始化echarts实例 两种写法
    var userdom = box.value;
    var myChart = echarts.init(userdom);
    //var myChart = echarts.init(document.getElementById('main'));
    var option = {
        title: {
          text: "ECharts",
        },
        xAxis: {
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        yAxis: {},
        legend: {
          data: ["牛波","撒波"],
        },
        series: [
            {
            name: "牛波",
            type: 'bar',
            data: [23, 24, 18, 25, 27, 28, 25],
            },
            {
            name: "撒波",
            type: 'bar',
            data: [20, 24, 18, 25, 27, 28, 25],
            }
        ]
        };
    myChart.setOption(option);
}
/** 接口 */
</script>
<style>
/**5 */
.echart-box{ 
    width: 500px;
    height: 350px;
    border: 3px solid pink;
    margin: 20px auto;
}
</style>
  

Vue 3 + TypeScript 项目中使用 ECharts 绘制立体实心饼图,可按以下步骤操作: ### 1. 安装依赖 首先要安装 EChartsVue 3ECharts 插件。在项目根目录下运行如下命令: ```bash npm install echarts @vueuse/core @vueuse/shared ``` ### 2. 创建 Vue 组件 以下是一个完整的 Vue 3 + TypeScript 组件示例,用于绘制立体实心饼图: ```vue <template> <div ref="chartRef" style="width: 600px; height: 400px;"></div> </template> <script lang="ts" setup> import { onMounted, ref } from &#39;vue&#39;; import * as echarts from &#39;echarts&#39;; const chartRef = ref<HTMLDivElement | null>(null); onMounted(() => { if (chartRef.value) { const myChart = echarts.init(chartRef.value); const option = { series: [ { type: &#39;pie&#39;, radius: [&#39;40%&#39;, &#39;75%&#39;], avoidLabelOverlap: false, label: { show: false, position: &#39;center&#39; }, emphasis: { label: { show: true, fontSize: 40, fontWeight: &#39;bold&#39; } }, labelLine: { show: false }, data: [ { value: 1048, name: &#39;Search Engine&#39; }, { value: 735, name: &#39;Direct&#39; }, { value: 580, name: &#39;Email&#39; }, { value: 484, name: &#39;Union Ads&#39; }, { value: 300, name: &#39;Video Ads&#39; } ], // 立体效果设置 roseType: &#39;radius&#39;, itemStyle: { borderRadius: 8 } } ] }; myChart.setOption(option); } }); </script> ``` ### 3. 代码解释 - **模板部分**:定义了一个 `div` 元素,用于承载 ECharts 图表,通过 `ref` 绑定到 `chartRef`。 - **脚本部分**: - 引入 Vue 的 `onMounted` 和 `ref` 函数,以及 ECharts 库。 - 在 `onMounted` 钩子中,当组件挂载完成后,初始化 ECharts 实例。 - 配置 ECharts 的 `option` 对象,指定图表类型为 `pie`(饼图),设置数据和样式,包括立体效果的设置。 - 调用 `myChart.setOption(option)` 方法将配置应用到图表上。 ### 4. 使用组件 在其他组件中使用该组件: ```vue <template> <div> <MyPieChart /> </div> </template> <script lang="ts" setup> import MyPieChart from &#39;./MyPieChart.vue&#39;; </script> ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值