Echarts实战案例代码(33):饼状图半圆实现方法

本文介绍了一种使用ECharts库实现半饼图的方法,通过将所有项作为180°上的饼图,并将所有相的和作为180°下的半圆不显示,巧妙地解决了半饼图的绘制问题。文章提供了具体代码示例,包括数据准备、颜色设置、ECharts配置选项等,同时指出了在实际场景中可能遇到的问题及解决方案。

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

在这里插入图片描述
解决方案:按照饼图的实际写法,将所有项作为180°上的饼图,所有相的和作为180°下的半圆不显示即可。

let list = [{
    name: "张三",
    value: "9"
}, {
    name: "李四",
    value: "50"
}, {
    name: "王五",
    value: "30"
}, {
    name: "马六",
    value: "9"
}, {
    name: "__other",
    value: "0"
}]

let sum = 0;
list.map((item, index) => {
    sum += parseInt(item.value)
})

list[list.length - 1].value = sum
let colorList = ['#0E7CE2', '#FF8352', '#E271DE', '#F8456B', "rgba(0,0,0,0)"]

Echarts option:

option = {
    tooltip: {},
    color: colorList,
    series: [{
        name: "",
        type: "pie",
        hoverAnimation: false,
        startAngle: -180,
        radius: ["60%", "100%"],
        center: ["50%", "70%"],
        label: {
            normal: {
                show: true,
                position: "inner", //显示在扇形上
                formatter: "{b}", //显示内容
                textStyle: {
                    color: "white", // 改变标示文字的颜色
                    fontSize: 12, //文字大小
                    fontWeight: "bold",
                },
            },
        },
        labelLine: {
            normal: {
                show: false,
            },
        },
        data: list,
        itemStyle: {
            emphasis: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: "rgba(0, 0, 0, 0.5)",
            },
        },
    }, ],
}

存在的问题:
下面180°的图形,只是将图形通过rgba(0,0,0,0)隐藏了,在实际场景中需要调整 center: ["50%", "70%"]来控制具体的显示方式。

Done!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漏刻有时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值