vue3+ts 画echarts环形图表
时间: 2023-07-25 12:25:45 浏览: 117
要在 Vue3 + TypeScript 中画 Echarts 环形图表,可以按照以下步骤进行:
1. 安装 Echarts 和 Vue-Echarts:
```
npm install echarts vue-echarts@5.0.0-beta.5
```
2. 在需要使用的组件中引入 Echarts 和 Vue-Echarts:
```typescript
import { defineComponent, onMounted, ref } from 'vue'
import * as echarts from 'echarts'
import { use } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import { PieChart } from 'echarts/charts'
import { LegendComponent, TooltipComponent } from 'echarts/components'
import VueECharts from 'vue-echarts'
use([CanvasRenderer, PieChart, LegendComponent, TooltipComponent])
export default defineComponent({
components: {
VueECharts
},
setup() {
const chartRef = ref(null)
const chart = ref<echarts.ECharts | null>(null)
const options: echarts.EChartsOption = {
title: {
text: '环形图示例'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 10,
data: ['数据1', '数据2', '数据3', '数据4', '数据5']
},
series: [
{
name: '访问来源',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{ value: 335, name: '数据1' },
{ value: 310, name: '数据2' },
{ value: 234, name: '数据3' },
{ value: 135, name: '数据4' },
{ value: 1548, name: '数据5' }
]
}
]
}
onMounted(() => {
if (chartRef.value) {
chart.value = echarts.init(chartRef.value)
chart.value.setOption(options)
}
})
return {
chartRef,
chart
}
}
})
```
3. 在组件的模板中使用 Vue-Echarts 组件,并传入需要渲染的数据和 Echarts 实例:
```vue
<template>
<div>
<vue-echarts :options="options" :auto-resize="true" :renderer="'canvas'" :chart="chartRef"></vue-echarts>
</div>
</template>
```
这样就可以在 Vue3 + TypeScript 中画出一个简单的 Echarts 环形图表了。注意,在 setup 函数中,需要使用 `ref` 函数将 `chart` 和 `chartRef` 定义为响应式数据,并在 `onMounted` 钩子函数中初始化 Echarts 实例并设置选项。在模板中,需要将 `chartRef` 作为 `VueECharts` 组件的 `chart` 属性传入。
阅读全文