Apache ECharts官网网址
第一步安装
npm i echarts
也可以使用
pnpm i echarts
cnpm i echarts
第二步在src文件夹内新建一个utils文件夹,在文件夹内新建文件echarts.js
//这个必须要引入的 import * as echarts from "echarts/core"; /** 引入柱状图and折线图图表,图表后缀都为 Chart*/ import { BarChart, LineChart } from "echarts/charts"; // 引入提示框,标题,直角坐标系,数据集,内置数据转换器组件,组件后缀都为 Component import { TitleComponent, TooltipComponent, GridComponent, DatasetComponent, TransformComponent, } from "echarts/components"; // 标签自动布局,全局过渡动画等特性 import { LabelLayout, UniversalTransition } from "echarts/features"; // 引入 Canvas 渲染器,注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步 import { CanvasRenderer } from "echarts/renderers"; // 注册必须的组件 echarts.use([ TitleComponent, TooltipComponent, GridComponent, DatasetComponent, TransformComponent, BarChart, LabelLayout, UniversalTransition, CanvasRenderer, LineChart, ]); // 导出 export default echarts;
复制
第三步:把建好的echarts.js文件引入main.js中
import { createApp } from 'vue' import App from './App.vue' import router from "./router/index" import echarts from './utils/echarts'; const app = createApp(App) app.config.globalProperties.$echarts = echarts app.use(router) app.use(pinia) app.mount('#app')
复制
第四步:在vue3中都是用的setup,在 APP.vue中一般这个文件内都是只放一个router-view的,和一些配置的全局的东西
<script setup> import * as echarts from "echarts"; import { provide } from "vue";//使用provide/inject把echarts引入进来,在根组件里引入echarts,一般是App.vue provide("echarts", echarts); </script> <template> <router-view></router-view> </template> <style> body { margin: 0px; } </style>
复制
第五步:在需要的文件内
<template> <div> <div id="main"></div> </div> </template> <script lang="js" setup> import { defineComponent, onMounted, inject } from "vue"; // 主要 onMounted(() => { change(); changetype(); }); let echarts = inject("echarts"); // 主要 // 基本柱形图 const change = () => { const chartBox = echarts.init(document.getElementById("main")); // 主要 const option = { xAxis: { data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], }, yAxis: {}, series: [ { type: "bar", data: [23, 24, 18, 25, 27, 28, 25], }, ], }; chartBox.setOption(option); // 根据页面大小自动响应图表大小 window.addEventListener("resize", function () { chartBox.resize(); }); }; </script> <style scoped> #main { min-width: 31.25rem; min-height: 31.25rem; } </style>
复制
在官网中的用发
复制option中的代码把这些替换了就行了,只会的值通过数据修改就好啦