一。在Vue3项目中安装Echarts
npm install echarts --save
二。创建可视化组件
通常会把数据可视化功能单独放在一个组件。(单独获取数据,单独展示数据,从父组件获取字段)
barcharts组件(记得在组件销毁时销毁Echarts实例,以释放资源)
<template>
<div class="echarts_box">
<div id="myEcharts" :style="{ width: width, height: height }"></div>
</div>
</template>
<script>
//引入echarts
import * as echarts from "echarts";
import { onMounted, onUnmounted } from "vue";
export default {
name: "barCharts",
props: ["width", "height"],
setup() {
let myEcharts = echarts;
onMounted(() => {
initCharts();
});
onUnmounted(() => {
if (myEcharts) {
myEcharts.dispose();
}
});
function initCharts() {
// 基于准备好的dom,初始化echarts实例
// 获取DOM元素
let myChart = myEcharts.init(document.getElementById("myEcharts"));
// 绘制图表
// 配置Echarts选项
// 渲染图表
myChart.setOption({
title: {
text: "ECharts 入门示例",
},
tooltip: {},
xAxis: {
data: ["衬衫", "毛毯", "帽子", "裤子", "高跟鞋", "袜子"],
},
yAxis: {},
series: [
{
name: "销量",
type: "bar",
data: [5, 20, 36, 10, 10, 20],
},
],
});
//在窗口大小改变时重新调整图表的大小。myChart.resize() 方法来重新计算和绘制图表,以适应新的窗口大小。
//达到自适应效果
window.onresize = function () {
myChart.resize();
};
}
return {
initCharts,
};
},
};
</script>
<style lang="less" scoped>
</style>
index组件
<template>
<div>
<bar-charts-vue :width="'600px'" :height="'600px'" />
</div>
</template>
<script>
import barChartsVue from "./barCharts.vue";
export default {
components: {
barChartsVue,
},
setup(props) {},
};
</script>
<style lang="less" scoped>
</style>