vue3中使用echarts,怎么实现如图的效果?(看文档看的头大。。没实现呢)
https://blog.csdn.net/qq_47246331/article/details/119598704
//html
<div id="chart" :style="{width: '100%', height: '350px',margin:'0 auto'}" />
//js
getData() {
const myChart = echarts.init(document.getElementById('chart'))
const namelist = []
const value = []
getdata().then(res => {
if (res.success) {
for (var j = 0; j < res.data.length; j++) {
const val = res.data[j]
namelist.push(val.name)
value.push(val.value)
}
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'line'
}
},
toolbox: {
feature: {
datazoom: {
show: true
}
}
},
grid: {
top: '2%',
left: 0,
right: '2%',
bottom: '2%',
containLabel: true
},
xAxis: {
type: 'value',
position: 'top',
},
yAxis: {
type: 'category',
data: namelist
},
series: [
{
type: 'bar',
data: value
}
]
}
myChart.setOption(option)
}
})
}
在获取图表数据前,将图表初始化放在第一步,可以有效避免图表被压缩。亲测有效
对于如何在Vue3中使用Echarts实现可视化界面,可以按照以下步骤进行:
npm install echarts --save
import echarts from 'echarts'
data() {
return {
option: {
// 在Echarts官网中找到对应的图表,将配置声明到option中
}
}
},
methods: {
initChart() {
// 声明一个Echarts实例
let myChart = echarts.init(document.getElementById('chart'))
// 将option配置传入实例中进行初始化
myChart.setOption(this.option)
}
},
mounted() {
// 组件挂载完成后调用初始化函数,渲染Echarts图表
this.initChart()
}
<template>
<div>
<div id="chart"></div>
</div>
</template>
综上所述,以上步骤为在Vue3中使用Echarts实现可视化界面的具体方案。需要注意的是,在配置Echarts图表时,可以在Echarts官网寻找相应的实例图,然后根据找到的图里的数据及变量,来进行声明到data中。如果存在问题,可以参考官方文档或者查看错误提示来进行排查和解决。