Vue3使用ECharts

echarts官网

Apache ECharts

Vue3中使用命令安装ECharts

复制代码
npm install echarts

在需要使用的地方导入echarts

javascript 复制代码
import * as echarts from 'echarts'; // 导入 ECharts 库

创建储存DOM元素的响应式引用

javascript 复制代码
// 创建一个 Vue 的响应式引用,用于存储对 DOM 元素的引用
const chartRef = ref<HTMLDivElement | null>(null);

<HTMLDivElement | null>:ref 的泛型参数 <HTMLDivElement | null> 指定了 chartRef 可以持有的值的类型。在这里,chartRef 可以持有 HTMLDivElement 类型的对象或 nullHTMLDivElement 是一个 DOM 元素的类型,指的是一个 <div> 元素;

(null):表示chartRef初始值是null

创建div用来储存图表

html 复制代码
<template>
  <!-- 使用 ref 将 chartRef 绑定到这个 div 元素 -->
  <div ref="chartRef" style="width: 100%; height: 50vh;"></div>
</template>

定义ECharts的配置选项

javascript 复制代码
const chartOptions = {

  title: {

    text: '简单柱状图示例' // 图表的标题

  },

  tooltip: {}, // 启用图表的工具提示功能

  legend: {

    data: ['销售量'] // 图例显示的项名称

  },

  xAxis: {

    data: ['产品 A', '产品 B', '产品 C', '产品 D', '产品 E'] // X 轴的类目数据

  },

  yAxis: {}, // Y 轴的配置项,使用默认配置

  series: [

    {

      name: '销售量', // 数据系列的名称

      type: 'bar', // 图表类型为柱状图

      data: [5, 20, 36, 10, 10] // 数据系列的具体数据

    }

  ]

};

下面是一些配置选项的讲解

  1. title

    • text :标题文本,如 "Sales Report"
    • subtext :副标题文本,如 "2024 Q1"
    • lefttoprightbottom :标题的位置,可以是 autocenterleftrighttopbottom 等。
  2. tooltip

    • trigger :触发方式,可以是 item(触发数据项)或 axis(触发坐标轴)。
    • formatter:提示框格式化函数,可以是字符串模板或函数。
    • backgroundColor :背景颜色,如 '#fff''rgba(0,0,0,0.7)'
  3. legend

    • data :图例数据数组,例如 ['Sales', 'Revenue']
    • orient :图例布局方向,'horizontal'(水平)或 'vertical'(垂直)。
    • lefttoprightbottom:图例的位置。
  4. xAxisyAxis

    • type :坐标轴类型,可以是 'value'(数值型)、'category'(类目型)、'time'(时间型)或 'log'(对数型)。
    • data (仅类目型):坐标轴的刻度标签数组,如 ['Jan', 'Feb', 'Mar']
    • name :坐标轴名称,如 'Sales'
    • axisLabel :坐标轴标签配置,包括 formatter(标签格式化函数)。
  5. series

    • type :图表类型,例如 'line'(折线图)、'bar'(柱状图)、'pie'(饼图)。
    • data :数据数组,如 [120, 200, 150, 80, 70]
    • name :系列名称,如 'Sales'
    • itemStyle :系列项样式配置,包括 color(颜色)、borderColor(边框颜色)。
  6. grid

    • lefttoprightbottom :网格的边距,例如 4060
    • containLabel :是否包含坐标轴标签在网格范围内,truefalse
  7. color

    • color :图表的颜色数组,如 ['#3398DB', '#FF5722'],影响系列的颜色。
  8. dataZoom

    • type :数据缩放类型,'inside'(内部缩放)或 'slider'(滑块缩放)。
    • startend :缩放范围的起始和结束百分比,如 0100
  9. toolbox

    • show :是否显示工具箱,truefalse
    • feature :工具箱功能,如 saveAsImage(保存为图片)、dataView(数据视图)。

这些选项可以组合使用以实现丰富的图表效果和交互,具体也可以去看官网上的示例Apache ECharts

初始化ECharts实例和设置图表配置项

javascript 复制代码
// 在组件挂载后执行的生命周期钩子
onMounted(() => {
  // 确保 chartRef 已经被绑定到一个 DOM 元素
  if (chartRef.value) {
    // 初始化 ECharts 实例,传入 DOM 元素
    const chartInstance = echarts.init(chartRef.value);
    // 设置图表的配置项
    chartInstance.setOption(chartOptions);
  }
});

这样就可以使用简单的ECharts了

相关推荐
lichenyang45312 小时前
Docker 学习笔记(一):为什么需要镜像、容器和仓库?
前端
kyriewen12 小时前
别再对着 TypeScript 报错发呆了:我把 10 个最常见的红色波浪线翻译成了人话
前端·javascript·typescript
IT_陈寒12 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
free3513 小时前
从 0 实现一个 Tiny JavaScript VM:项目架构拆解
javascript
奇奇怪怪的13 小时前
Embedding 模型 10+ 横向评测
前端
陈广亮13 小时前
Monorepo 从 0 到 1 实操指南 2026 版:pnpm catalogs + Turborepo 2.x + changesets 全链路
前端
子兮曰13 小时前
OpenMontage 深度解剖:你的 AI 编程助手,其实是个视频工作室
前端·后端·ai编程
敲代码的鱼13 小时前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
子兮曰13 小时前
前端工具链的「Rust 化」:一场没有赢家的军备竞赛?
前端·后端·rust