首页 新闻 会员 周边 捐助

echarts图表不显示

0
悬赏园豆:100 [待解决问题]

有没有计算机的大神来救救我●﹏●,我要弄一个echarts图表分析,现在数据可以获取,控制台也没有报错,但是那个饼图就是不会出来(ಥ_ಥ)
啊~望来人指教
<template>
<div class="statistics-container">
<div id="gender-chart" style="width: 600px; height: 400px;"></div>
</div>
</template>
<script>
import * as echarts from 'echarts'
import { getDoctorGenderStats } from '@/api/statistics'
export default {
name: 'Statistics',
data() {
return {
chart: null
}
},
mounted() {
this.initChart()
this.loadData()
},
methods: {
initChart() {
this.chart = echarts.init(document.getElementById('gender-chart'))
this.chart.setOption({
title: {
text: '医生性别分布',
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left'
},
series: [
{
name: '性别分布',
type: 'pie',
radius: '50%',
data: [],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
})
},
async loadData() {
try {
const res = await getDoctorGenderStats()
this.chart.setOption({
series: [{
data: [
{ value: res.data.male, name: '男' },
{ value: res.data.female, name: '女' }
]
}]
})
} catch (error) {
console.error('加载数据失败:', error)
}
}
},
beforeDestroy() {
if (this.chart) {
this.chart.dispose()
}
}
}
</script>
<style scoped>
.statistics-container {
padding: 20px;
}
</style>

wo1121的主页 wo1121 | 初学一级 | 园豆:102
提问于:2025-06-25 01:12
< >
分享
所有回答(3)
0

loadData后重新调用下chart的setOption,我记得是这样。

彼时今日 | 园豆:656 (小虾三级) | 2025-06-25 09:07

另外,博问支持markdown代码块,可读性更好,比如你vue可以这样

支持(0) 反对(0) 彼时今日 | 园豆:656 (小虾三级) | 2025-06-25 09:10
0

你把方法都放在created里了,可能是initChart构建图表,和loadData是异步执行的;也许数据获取了,但其实图表还没初始化。
可以把initChart封装为promise形式,在initChart成功后,resolve通知,再then回调里执行loadData方法

你风致 | 园豆:2219 (老鸟四级) | 2025-06-26 16:39
0

datagrid_empire_cms

爱的旅途 | 园豆:216 (菜鸟二级) | 2025-07-09 16:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册