Echarts仪表盘自定义数值样式

本文详细描述了如何使用ECharts库创建一个带有自定义样式的数值gauge图表,包括设置起始和结束角度、范围、标签和指针。作者还引用了EChartsAPI文档来指导读者实现类似的需求样式。

需求描述

原图样式
在这里插入图片描述
需求样式
在这里插入图片描述

解决方案

{
    name: '数值',
    type: 'gauge',
    startAngle: 180,
    endAngle: 0,
    radius: '30%',
    center: ['50%', '55%'], // 默认全局居中  
    min: 0,
    max: 4,
    zlevel: 2,
    splitNumber: 0,
    axisLine: { // 坐标轴线  
        lineStyle: {
            color: [
                [1, ]
            ], // 属性lineStyle控制线条样式  
            width: '1%'
        }
    },

    axisLabel: { // 坐标轴小标记  
        show: false
    },
    splitLine: { // 分隔线  
        lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式  
            width: 0
        }
    },
    pointer: { // 分隔线 指针  
        show: 0
    },
    detail: {
        valueAnimation: true,
        formatter: '{title|50}' +' {value|家}',
        offsetCenter: [0, '-20%'],
        rich: { //特定样式
            title: {
                fontSize: 30,
                fontWeight: 'bolder',
                color:"#2EDEFF",
                verticalAlign: "bottom"
            },
            value: {
                fontSize: 16, 
                fontWeight: 'bolder',
                color: '#29CDED',
                verticalAlign: "middle"
            },
        },
    },
    data: [{
        name: "",
        value: 1.9
    }]
},

参考

https://echarts.apache.org/zh/option.html#series-gauge.detail.rich

### ECharts 仪表盘刻度数值高亮实现方法 为了实现在 ECharts 仪表盘中的刻度数值高亮效果,可以通过自定义 `axisLabel` 和 `splitLine` 属性来达到目的。通过设置特定条件下的样式属性,可以使得某些刻度线或标签更加突出。 在 ECharts 中,`series.gauge.axisLabel.rich` 可以用来定义丰富的文本样式[^1]。利用这一特性,可以根据不同的范围应用不同风格的文字描述。对于希望强调的部分,还可以借助于 JavaScript 动态计算逻辑,在渲染图表前调整相应区域内的文字颜色或其他视觉特征。 下面是一个简单的例子展示如何让某个区间内(比如70%到85%之间)的刻度变红并加粗: ```javascript option = { series: [{ type: 'gauge', axisLabel: { // 设置轴上的标签 formatter: function (value) { let color; if (value >= 70 && value <= 85) { color = '#ff0000'; // 当处于设定范围内时改变字体颜色为红色 } else { color = '#333'; } return '{' + Math.floor(value / 10) % 10 + '|}' + value; // 使用 rich text 定义特殊样式的部分 }, rich: { // 自定义富文本样式 '0': { fontSize: 20, fontWeight: 'bolder' }, '7': { // 特定情况下使用的样式 color: '#ff0000', fontSize: 20, padding: [0, 0, 0, 10], backgroundColor: '' } } }, detail: false, // 关闭详情显示 data: [{value: 77}] // 数据源 }] }; ``` 此代码片段展示了如何基于给定的数据点动态修改其外观表现形式,从而实现了所期望的效果。需要注意的是,这里仅作为概念验证用途;实际项目开发过程中可能还需要考虑更多细节处理以及性能优化等问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值