Echarts 水波图实现

开发的项目中需要实现这样一个水波图,例如下图

echarts官网中找了很久没找到,后面是在Echarts社区中找到的,实现了大部分的样式,但是还有一些数据的展示没有实现。水波图的数值展示是默认整数百分比,我的需求是需要保留两位小数。

先展示一下在社区中找到的水波图代码如下:

option = {
    backgroundColor: "#0e2147",
    title: {
        show: true,
        text: '违规项',
        x: '50%',
        y: '60%',
        z: 10,
        textAlign: 'center',
        textStyle: {
            color: '#ffffff',
            fontSize: 68,
            fontWeight: 500
        },
    },
    series: [{
        name: '违规项',
        type: 'liquidFill',
        radius: '60%',
        center: ['50%', '45%'],
        data: [70/100],
        label:{
            normal:{
                textStyle:{
                    color: '#ffffff',
                    fontSize: 68,
                }
            }
        },
        color: ['#4366f3'],
        backgroundStyle: {
            color: 'rgba(39,115,229,0.12)'
        },
        outline: {
            borderDistance: 0,
            itemStyle: {
                borderWidth: 5,
                borderColor: 'rgba(49,102,255,0.5)',
            }
        },
        // amplitude: 0,
    }]
};

发现水波图的类型是“liquidFill”,在官网中没有找到这个类型,后面发现是需要单独封装的类型,需要单独下载安装包。

我安装的依赖版本(水波图的类型应该是在echarts 5版本支持,小伙伴们使用时注意版本):

echarts:5.2.2

echarts-liquidfill:3.1.0

主要修改的代码是series里面的data控制数据展示和series里面的color控制水波的颜色渐变

option = {
    backgroundColor: "#0e2147", // 背景颜色
    title: {
        show: true,
        text: '水波图', // 标题名字
        x: '50%',
        y: '60%',
        z: 10,
        textAlign: 'center', // 文字位置
        textStyle: {  // 文字样式设置
            color: '#ffffff',
            fontSize: 50,
            fontWeight: 500
        },
    },
    series: [{
        name: '水波图',
        type: 'liquidFill',
        radius: '60%',
        center: ['50%', '45%'],
        data: [
            {
                    value: [55.2 / 100],
                    label: {
                        normal: {
                            formatter: `${55.2}%`,
                            show: true,
                        }
                    }
                }
        ],
        label:{
            normal:{
                textStyle:{ // 数值样式设置
                    color: '#ffffff',
                    fontSize: 60,
                }
            }
        },
        color: [
            {
                type: 'linear',
                x: 0,
                y: 1,
                x2: 0,
                y2: 0,
                colorStops: [ // 水波颜色渐变
                    {
                        offset: 1,
                        color: ['rgba(11,175,202,1)'], // 0% 处的颜色
                    },
                    {
                        offset: 0,
                        color: ['rgba(0,145,255,1)'], // 100% 处的颜色
                    }
                ], // 水波纹颜色
            }
        ],
        backgroundStyle: {
            color: 'rgba(39,115,229,0.12)'
        },
        outline: {
            borderDistance: 0,
            itemStyle: {
                borderWidth: 5, // 边 宽度
                borderColor: 'rgba(49,102,255,0.5)',
            }
        },
    }]
};

以上是我遇到的问题,简单记录一下(虽然...但是没有找到echarts的全部类型,官网中的只是一部分),欢迎各位小伙伴来交流~

代码参考echarts社区:https://www.isqqw.com/viewer?id=17830

Echarts水波纹特效是通过使用echarts-liquidfill插件来实现的。你可以在官方网站https://www.npmjs.com/package/echarts-liquidfill找到该插件的详细信息。\[1\] 要使用水波纹特效,你需要引入Echarts.min.js和Echarts-liquidfill.js文件,并在HTML中创建一个具有定义了宽度和高度的DOM容器。然后,你可以使用以下代码初始化echarts实例并指定表的配置项和数据:\[2\] ```html <script src="echarts.min.js"></script> <script src="echarts-liquidfill.js"></script> <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); var option = { series: \[{ type: 'liquidFill', data: \[0.6\] }\] }; myChart.setOption(option); </script> ``` 如果你想要自定义水波纹特效的样式,你可以修改配置项中的相关属性。例如,你可以通过修改backgroundColor属性来设置背景颜色,通过修改title属性来设置标题的样式和位置,通过修改series属性中的data属性来控制数据展示,通过修改series属性中的color属性来控制水波的颜色渐变等。\[3\] 希望这些信息对你有帮助! #### 引用[.reference_title] - *1* [Echarts之球形水波纹](https://blog.csdn.net/c_x_m/article/details/127558679)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Echarts水球-多波纹和直线静止波纹](https://blog.csdn.net/weixin_43790703/article/details/122763100)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Echarts 水波实现](https://blog.csdn.net/Liberal_w/article/details/129407075)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值