vue echarts饼状图百分比展示

设置label的formatter。

label: {
	show: true,
	formatter: '{b} : {d}%'
},

已封装好,可直接复制使用。

<template>
	<!-- 饼状图 -->
	<div ref="echart" :class="className" :style="{height:height,width:width}" />
</template>

<script>
	import * as echarts from 'echarts';
	export default {
		props: {
			className: {
				type: String,
				default: 'chart'
			},
			width: {
				type: String,
				default: '500px'
			},
			height: {
				type: String,
				default: '300px'
			},
			chartData: {
				type: Array,
				required: true
			},
		},
		data() {
			return {
				chart: null,
			}
		},
		watch: {
			chartData: {
				deep: true,
				handler(val) {
					this.setOptions(val)
				}
			}
		},
		mounted() {
			this.$nextTick(() => {
				this.initChart()
			})
		},
		beforeDestroy() {
			if (!this.chart) {
				return
			}
			this.chart.dispose()
			this.chart = null
		},
		methods: {
			initChart() {
				this.chart = echarts.init(this.$refs.echart);
				this.setOptions(this.chartData)
			},
			setOptions(data) {
				this.chart.setOption({
					tooltip: {
						trigger: 'item',
						formatter: '{b} : {d}%'
					},
					legend: {
						orient: 'vertical',
						left: 'right',
						top: 'bottom'
					},
					series: [{
						type: 'pie',
						radius: '50%',
						data: data,
						itemStyle: {
							normal: {
								label: {
									show: true,
									formatter: '{b} : {d}%'
								},
							}
						},
						emphasis: {
							itemStyle: {
								shadowBlur: 10,
								shadowOffsetX: 0,
								shadowColor: 'rgba(0, 0, 0, 0.5)'
							},
						}
					}]
				})
			}
		}
	}
</script>

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值