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 类型的对象或 null。HTMLDivElement 是一个 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"
    • left 、top 、right 、bottom :标题的位置,可以是 auto、center、left、right、top、bottom 等。
  2. tooltip:

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

    • data :图例数据数组,例如 ['Sales', 'Revenue']。
    • orient :图例布局方向,'horizontal'(水平)或 'vertical'(垂直)。
    • left 、top 、right 、bottom:图例的位置。
  4. xAxis 和 yAxis:

    • 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:

    • left 、top 、right 、bottom :网格的边距,例如 40、60。
    • containLabel :是否包含坐标轴标签在网格范围内,true 或 false。
  7. color:

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

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

    • show :是否显示工具箱,true 或 false。
    • 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了

相关推荐
随便写个软件8 分钟前
【新版本】EasyExplorer资源管理器 3.12.0——地址栏重要更新
运维·服务器·前端·everything·资源管理器
Jack N11 分钟前
【Strapi 系列之二】Collection / Single / Component 怎么选?Strapi 字段大全一篇讲透
前端·javascript·strapi
hiahiahia12319 分钟前
Agent Tool 执行失败怎么办
服务器·前端
Java后端的Ai之路19 分钟前
09-React组件生命周期
前端·react.js·前端框架
IT_陈寒26 分钟前
SpringBoot开发实战:从入门到精通
前端·人工智能·后端
乘风gg26 分钟前
一个人一个月合并 2500 PRs 的秘密是什么?
前端·ai编程·claude
郑州光合科技余经理36 分钟前
本地生活服务系统:预约状态和进度通知接口怎么拆
java·开发语言·前端·javascript·后端·php·生活
Peter-Code1 小时前
Nginx 常用操作整理(前端)
服务器·前端·nginx
半个落月10 小时前
LangSmith 全链路观测(下):用 Dataset 与 LLM Judge 量化评估 RA
javascript·langchain
半个落月10 小时前
LangSmith 全链路观测(上):用 LangGraph 与 Milvus 构建可追踪的 RAG 客服
javascript·langchain