vue3 中使用 echarts 图表——准备篇

本文介绍了如何在Vue项目中集成并使用Echarts图表,包括创建Vue项目、添加Echarts依赖,以及在模板中实现基本的柱状图示例。后续将探讨DOM操作和异步数据加载问题。

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

我们常常在项目中使用图表来表示数据,而目前最常用的图标就是echarts,接下来我们就开始学习在vue中使用echarts图标。

一、准备一个vue项目(一般通过vite来构建,而不是vue-cli)

 1.找到打开vite官网

2. 运行创建命令

yarn create vite

3. 执行yarn install安装项目依赖,之后执行行yarn dev运行项目

二、添加echarts依赖

  1. 搜索echarts官网

 2. 添加依赖

yarn add echarts

三、写一个在vue中使用echarts的基本案例

<template>
  <div id="main"></div>
</template>

<script setup>
import * as echarts from 'echarts';
import {onMounted} from "vue";
onMounted(()=>{
    var chartDom = document.getElementById('main');
    var myChart = echarts.init(chartDom);
    var option;
    option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [
        {
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar'
        }
    ]
    };
    option && myChart.setOption(option);
});


</script>

<style scoped>
#main {
  width: 50vw;
  height: 50vh;
}
</style>

目前还存在一些问题:获取DOM节点、通常请求数据是异步的,下一篇重点讲解

### 实现 Vue3ECharts 图表缩放功能 在 Vue3 项目中集成 ECharts 并实现图表的缩放功能涉及几个关键步骤。首先,确保已经通过 npm 安装了 `echarts` 库,并将其引入到项目中以便全局使用[^1]。 对于具体的页面组件而言,推荐采用组合式 API (Composition API),这是 Vue3 推崇的新特性之一。下面是一个完整的例子来展示如何完成这一目标: #### 组件模板部分 ```html <template> <div class="chart-container"> <!-- 设置宽度为100%,高度可以根据需求调整 --> <div ref="chartRef" style="width: 100%; height: 400px;"></div> </div> </template> ``` #### 脚本逻辑编写 ```javascript <script setup lang="ts"> import { onMounted, ref, watchEffect } from &#39;vue&#39;; import * as echarts from &#39;echarts/core&#39;; // 创建一个响应式的 DOM 参考对象用于挂载 ECharts 实例 const chartRef = ref<HTMLDivElement | null>(null); let myChart: echarts.ECharts | null = null; onMounted(() => { initChart(); }); function initChart() { if (!chartRef.value) return; // 初始化 ECharts 实例 myChart = echarts.init(chartRef.value); const option = { xAxis: {}, yAxis: {}, series: [{ name: &#39;销量&#39;, type: &#39;bar&#39;, data: [5, 20, 36, 10, 10, 20] }], dataZoom: [ { type: &#39;slider&#39;, // 这里定义了一个带有滑块的数据区域缩放控件 show: true, xAxisIndex: [0], start: 1, end: 75 }, { type: &#39;inside&#39;,// 内部缩放方式 xAxisIndex: [0], start: 1, end: 75 } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); } // 监听窗口大小变化事件以更新图表布局 watchEffect(() => { window.addEventListener(&#39;resize&#39;, handleWindowResize); }); function handleWindowResize() { if(myChart){ myChart.resize(); } } </script> <style scoped> .chart-container { width: 100%; position: relative; } </style> ``` 上述代码展示了如何在一个 Vue3 单文件组件中设置 ECharts 图表及其缩放功能。注意这里的 `dataZoom` 属性包含了两个不同类型的缩放控制器——一个是外部可见的滑动条 (`type:&#39;slider&#39;`) ,另一个则是鼠标滚轮或触摸板手势触发的内部缩放(`type:&#39;inside&#39;`)[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@穷且益坚,不坠青云之志

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

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

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

打赏作者

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

抵扣说明:

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

余额充值