关于echarts生成空心扇形图,并且在中心位置、以及扇叶上展示数据。在图形外展示文字等问题

本文介绍了如何在Vue.js项目中利用Echarts实现空心扇形图,详细讲解了如何在中心位置和扇叶上展示数据,并通过代码示例展示了如何解决标签覆盖问题,同时提供了在图形外部添加文字的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于echarts生成空心扇形图,并且在中心位置、以及扇叶上展示数据。在图形外展示文字等问题
今日在写一个关于pc端的后台管理系统,用的是ant design框架,项目中有图表样式,需要用到echarts,结果因为不熟悉吃了很多亏,今天给大家一起分享一下,有什么不足的希望大佬们多指教。
1.安装echarts命令 : npm install echarts --save
2.main.js全局引用 :import echarts from ‘echarts’ // 引用echarts
Vue.prototype.$echarts = echarts
3.给标签设置ref,进行echarts绑定
在这里插入图片描述
因为我要多个div进行绘制图形,所以我把绘制图标的方法进行了封装
在这里插入图片描述
封装的具体方法如下:
在这里插入图片描述上边圈起来的是下图中,“及时、逾期” 的效果
在这里插入图片描述
在这里插入图片描述
有人会发现为什么一个图形要还两次,因为我在绘制的过程中发现,label中的normal中的position设置之后只会生效一下,也就是在图形的中心和在扇形叶上数据只会展示一个,会覆盖掉,所以我就绘制第一个图形时,让他中心数据展示,再绘制第二个图形,尺寸和第一个一样,那么中心数据就不会覆盖掉,然后设置扇形叶上的数据。

**下边这张图片是设置的文字
在这里插入图片描述**效果图是下边的 “目标、全国”的数据展示
在这里插入图片描述
代码如下奉上,有兴趣的大家可以一起讨论
mounted() {
// 调用echarts绘制图表
let firstName = this.KaTeX parse error: Expected 'EOF', got '}' at position 89: …,'85','83'); }̲, methods: { ge…echarts.init(firstName);
// 为图表添加数据
myChart.setOption({
color: ["#0070BF", “#FF0000”],
legend: {
type: “scroll”,
orient: “horizontal”,
left: 20,
bottom: 0,
data: data.legendData,
selected: data.selected
},
series: [
{
name: “访问来源”,
type: “pie”,
radius: [“50%”, “70%”],
avoidLabelOverlap: false,
hoveranination: false,
silent: true,
label: {
normal: {
show: true,
position: “center”,
formatter: function(argument) {
return data;
},
textStyle: {
fontSize: 20,
color: color
}
}
},
labelLine: {
normal: {
show: false
}
},
data: [{ value: first, name: “及时” }, { value: second, name: “逾期” }]
},
{
name: “访问来源”,
type: “pie”,
radius: [“35%”, “70%”],
avoidLabelOverlap: false,
hoveranination: false,
silent: true,
labelLine: {
normal: {
show: false
}
},
data: [
{ value: first,name: ‘及时’},
{ value: second, name:‘逾期’}
],
label: {
normal: {
show: true,
position: “inner”,
formatter: function(param) {
return param.data.value;
},
textStyle: {
fontSize: 15,
color: “white”
}
}
}
}
],
graphic: [
{
type: ‘group’,
right: 0,
bottom: 0,
children: [
{
type: ‘text’,
style: {
fill: ‘#333’,
text: [
全国:${national}%
].join(’\n’),
font: ‘14px STHeiti’
}
}
]
},
{
type: ‘group’,
right: 0,
bottom: 20,
children: [
{
type: ‘text’,
style: {
fill: ‘#333’,
text: [
目标:${target}%
].join(’\n’),
font: ‘14px STHeiti’
}
}
]
}
],

  });

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值