echarts官网
Apache ECharts
Vue3中使用命令安装ECharts
npm install echarts 在需要使用的地方导入echarts
import * as echarts from 'echarts'; // 导入 ECharts 库 创建储存DOM元素的响应式引用
// 创建一个 Vue 的响应式引用,用于存储对 DOM 元素的引用const chartRef = ref<HTMLDivElement | null>(null); <HTMLDivElement | null>:ref 的泛型参数 <HTMLDivElement | null> 指定了 chartRef 可以持有的值的类型。在这里,chartRef 可以持有 HTMLDivElement 类型的对象或 null。HTMLDivElement 是一个 DOM 元素的类型,指的是一个 <div> 元素;
(null):表示chartRef初始值是null
创建div用来储存图表
<template> <!-- 使用 ref 将 chartRef 绑定到这个 div 元素 --> <div ref="chartRef" style="width: 100%; height: 50vh;"></div></template> 定义ECharts的配置选项
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] // 数据系列的具体数据 } ]}; 下面是一些配置选项的讲解
title:
text:标题文本,如 "Sales Report"subtext:副标题文本,如 "2024 Q1"left、top、right、bottom:标题的位置,可以是 auto、center、left、right、top、bottom 等。 tooltip:
trigger:触发方式,可以是 item(触发数据项)或 axis(触发坐标轴)。formatter:提示框格式化函数,可以是字符串模板或函数。backgroundColor:背景颜色,如 '#fff' 或 'rgba(0,0,0,0.7)'。 legend:
data:图例数据数组,例如 ['Sales', 'Revenue']。orient:图例布局方向,'horizontal'(水平)或 'vertical'(垂直)。left、top、right、bottom:图例的位置。 xAxis 和 yAxis:
type:坐标轴类型,可以是 'value'(数值型)、'category'(类目型)、'time'(时间型)或 'log'(对数型)。data(仅类目型):坐标轴的刻度标签数组,如 ['Jan', 'Feb', 'Mar']。name:坐标轴名称,如 'Sales'。axisLabel:坐标轴标签配置,包括 formatter(标签格式化函数)。 series:
type:图表类型,例如 'line'(折线图)、'bar'(柱状图)、'pie'(饼图)。data:数据数组,如 [120, 200, 150, 80, 70]。name:系列名称,如 'Sales'。itemStyle:系列项样式配置,包括 color(颜色)、borderColor(边框颜色)。 grid:
left、top、right、bottom:网格的边距,例如 40、60。containLabel:是否包含坐标轴标签在网格范围内,true 或 false。 color:
color:图表的颜色数组,如 ['#3398DB', '#FF5722'],影响系列的颜色。 dataZoom:
type:数据缩放类型,'inside'(内部缩放)或 'slider'(滑块缩放)。start 和 end:缩放范围的起始和结束百分比,如 0 和 100。 toolbox:
show:是否显示工具箱,true 或 false。feature:工具箱功能,如 saveAsImage(保存为图片)、dataView(数据视图)。 这些选项可以组合使用以实现丰富的图表效果和交互,具体也可以去看官网上的示例Apache ECharts。
初始化ECharts实例和设置图表配置项
// 在组件挂载后执行的生命周期钩子onMounted(() => { // 确保 chartRef 已经被绑定到一个 DOM 元素 if (chartRef.value) { // 初始化 ECharts 实例,传入 DOM 元素 const chartInstance = echarts.init(chartRef.value); // 设置图表的配置项 chartInstance.setOption(chartOptions); }}); 这样就可以使用简单的ECharts了