echats 饼图改造为环形进度条(转)

本文介绍了一种使用 ECharts 实现的进度条图表配置方法,通过内外圈及数据层的设置实现不同颜色及透明度的效果,适用于展示各类进度或完成度的数据可视化场景。

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

结果图

 

 

 

 

 

 

 

 

 

代码

option = {
    backgroundColor: '#000',
    title: {
        text: "进度条",

        textStyle: {
            color: '#fff',
            fontSize: 70,
            fontWeight: 'bold'
        },
        left: 'center',
        bottom: '49%',

        itemGap: 60,
    },
    tooltip: {
        show: false,
    },
    legend: {

    },
    series: [{
            name: '内圈',
            type: 'pie',
            hoverAnimation: false,
            tooltip: {

            },
            radius: [0, "38%"],
            color: ['#55a2f2', '#0065ba', '#35a2ff', '#12cbf6'],
            label: {
                normal: {
                    show: false,
                    position: 'center',
                    color: '#fff',
                    formatter: function(params) {
                        return params.value
                    },
                },
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            data: [{
                value: 0,
                itemStyle: {
                    normal: {
                        color: "rgba(20,198,249,1)"
                    }
                }
            }, ]
        },


        {
            name: '数据',
            type: 'pie',
            startAngle: 315,
            radius: ['50%', '60%'],
            legendHoverLink: false,
            hoverAnimation: false,
            avoidLabelOverlap: false,
            label: {
                normal: {
                    show: false,
                    position: 'center'
                },
                emphasis: {
                    show: true,
                    textStyle: {
                        fontSize: '30',
                        fontWeight: 'bold'
                    }
                }
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            data: [{
                    value: 25,
                    itemStyle: {
                        normal: {
                            color: "rgba(0,0,0,0)"
                        }
                    }
                },
                {
                    value: 25,
                    itemStyle: {
                        normal: {
                            color: "rgba(20,198,249,1)"
                        }
                    }

                },
                {
                    value: 50,
                    itemStyle: {
                        normal: {
                            color: "rgba(4,40,50,1)"
                        }
                    }
                },

            ]
        },

        {
            name: '外圈',
            type: 'pie',
            startAngle: 315,
            hoverAnimation: false,
            radius: ["68%", "69%"],
            label: {
                normal: {
                    show: false,
                    position: 'center'
                },
                emphasis: {
                    show: true,
                    textStyle: {
                        fontSize: '10',
                        fontWeight: 'bold'
                    }
                }
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            data: [{
                    value: 25,
                    itemStyle: {
                        normal: {
                            color: "rgba(0,0,0,0)"
                        }
                    }
                },
                {
                    value: 75,
                    itemStyle: {
                        normal: {
                            color: "rgba(20,198,249,1)"
                        }
                    }
                },
            ]
        }
    ]
};
--------------------- 
作者:tt010175 
来源:优快云 
原文:https://blog.youkuaiyun.com/tt010175/article/details/86214305 
版权声明:本文为博主原创文章,转载请附上博文链接!

ECharts 是一个由百度开源的基于 JavaScript 的数据可视化库,广泛应用于前端数据分析表展示。它支持多种类型的表绘制,如折线、柱状等,并且功能非常丰富,可以高度自定义。 当你想要在一个 ECharts 上同时显示环形柱状的时候,实际上是在描述一种混合了 ECharts 中两种不同类型表的视觉效果。这种混合表通常通过创建多个 `series` 来实现,每个 `series` 对应不同的表类型并配置相应的样式,最终在同一个容器内渲染出所需的复合形。 下面是一个基本步骤来演示如何在 ECharts基础上添加环形柱状元素: ### 步骤 1: 准备 JSON 数据 假设我们有以下的数据结构: ```json { "name": "环形柱状", "type": "pie", "data": [ { "value": 10 }, { "value": 30 }, { "value": 50 } ], // 环形柱状部分 "series": [ { "type": "bar", "xAxisIndex": 1, "yAxisIndex": 1, "symbolSize": [4, 8], "emphasis": { "focus": "series" }, "data": [ { "value": 60 }, { "value": 80 }, { "value": 120 } ] } ] } ``` ### 步骤 2: 使用 ECharts 初始化并渲染 你需要引入 ECharts 的 JavaScript 文件以及其 CSS 文件到HTML页面中,然后初始化ECharts实例,并传入上述JSON数据: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ECharts Example</title> <!-- 引入 ECharts --> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.0/echarts.min.js"></script> <style> #main { width: 600px; height: 400px; } </style> </head> <body> <div id="main"></div> <script> var myChart = echarts.init(document.getElementById('main')); var option = { title: { text: '环形柱状示例' }, tooltip: {}, legend: { data: ['', '环形柱状'] }, series: [ { type: 'pie', radius: ['50%', '70%'], label: { normal: { position: 'inner' } }, emphasis: { label: { show: true, fontSize: '30', fontWeight: 'bold' } }, data: [ { value: 10, name: 'A' }, { value: 30, name: 'B' }, { value: 50, name: 'C' } ] }, // 环形柱状部分 { type: 'bar', xaxisIndex: 1, yaxisIndex: 1, symbolSize: function (val) { return val * 1.5 + 5; // 自定义函数生成动态大小 }, barCategoryGap: '8%', barMaxWidth: 20, data: [ { value: 60 }, { value: 80 }, { value: 120 } ] } ] }; myChart.setOption(option); </script> </body> </html> ``` ### 相关问题: 1. **如何调整表颜色和样式?** - 您可以在 `option` 对象中自定义系列的颜色、边框、填充等属性,如 `.color`, `.borderColor`, `.backgroundColor`。 2. **如何增加表间的交互性?** - ECharts 支持丰富的交互操作,例如鼠标悬停事件、点击事件、缩放和平移等,您可以通过设置 `tooltip`, `legend` 和 `interaction` 对象中的属性来自定义交互行为。 3. **如何适配不同设备和屏幕尺寸?** - ECharts 默认会根据浏览器窗口大小自适应渲染,您还可以通过设置 `responsiveOptions` 或修改CSS样式来进一步优化跨屏体验。 通过以上步骤和相关问题的回答,你可以更好地理解和实现 ECharts上叠加显示环形柱状的功能,以及如何对其进行个性化定制和交互优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值