Echats-自定义图表2

效果图:

代码:

复制代码
<!DOCTYPE html>
<html lang="zh-cmn-Hans">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>图表</title>
    <style>
        #main {
            width: 237px;
            height: 250px;
        }
    </style>
</head>

<body>
    <div id="app">
        <div id="main"></div>
    </div>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
    <script>
        var chartDom = document.getElementById('main');
        var myChart = echarts.init(chartDom);
        var option;

        option = {
            series: [
                {
                    type: 'gauge',
                    radius: '100%', // 圆盘大小
                    splitNumber: 10, // 刻度线单位
                    center: ['50%', '50%'], // 主体位置
                    startAngle: 216,
                    endAngle: -36,
                    z: 1,//y轴
                    min: 0,
                    max: 1,
                    itemStyle: {
                        color: '#2f9bff'
                    },
                    progress: {
                        show: true,
                        width: 12
                    },
                    axisLine: {
                        lineStyle: {
                            width: 12
                        }
                    },
                    // 中心圆点
                    anchor: {
                        show: false
                    },
                    pointer: {
                        show: false
                    },
                    // 小刻度线
                    axisTick: {
                        distance: 6,
                        length: 2,
                        lineStyle: {
                            color: '#666',
                            width: 1
                        }
                    },
                    splitLine: {
                        show: false // 不展示
                    },
                    axisLabel: {
                        show: false // 不展示
                    },
                    title: {
                        offsetCenter: [0, '85%'],
                        fontSize: 15,
                        color: 'rgba(37,35,58,0.4)'
                    },
                    detail: {
                        fontSize: 34,
                        offsetCenter: [0, '62%'],
                        valueAnimation: true,
                        formatter(value) {
                            return `${(value * 100).toFixed(2)}%`; // 计算百分率
                        },
                        color: '#2F9BFF'
                    },
                    data: [
                        {
                            value: 0.7,
                            name: '累计执行率'
                        }
                    ]
                },
                {
                    type: 'gauge',
                    radius: '50%', // 圆盘大小
                    splitNumber: 5, // 刻度线单位
                    center: ['50%', '50%'], // 主体位置
                    startAngle: 216,
                    endAngle: -36,
                    min: 0,
                    max: 1,
                    // itemStyle: {
                    //   color: '#ccc'
                    // },
                    // progress: {
                    //   show: true,
                    //   width: 12
                    // },
                    axisLine: {
                        lineStyle: {
                            width: 18,
                            color: [[1, '#DCE4FE']]
                        }
                    },
                    // 中心圆点
                    anchor: {
                        show: true,
                        size: 6,
                        showAbove: true, // 固定点是否显示在指针上面
                        itemStyle: {
                            borderColor: '#fff',
                            borderWidth: 8
                        }
                    },
                    pointer: {
                        width: 2,
                        offsetCenter: [0, '24%'],
                        icon: 'path://M2.9,0.7L2.9,0.7c1.4,0,2.6,1.2,2.6,2.6v115c0,1.4-1.2,2.6-2.6,2.6l0,0c-1.4,0-2.6-1.2-2.6-2.6V3.3C0.3,1.9,1.4,0.7,2.9,0.7z',
                        length: '220%',
                        itemStyle: {
                            color: '#1FA4FC'
                        }
                    },
                    // 小刻度线
                    axisTick: {
                        distance: -78,
                        length: 13,
                        lineStyle: {
                            color: 'rgba(255, 255, 255, 0.6)',
                            width: 3
                        }
                    },
                    splitLine: {
                        show: false // 不展示
                    },
                    axisLabel: {
                        show: false // 不展示
                    },
                    title: {
                        show: false
                    },
                    detail: {
                        show: false
                    },
                    data: [
                        {
                            value: 0.7,
                            name: '累计执行率'
                        }
                    ]
                }
            ]
        };

        option && myChart.setOption(option);
    </script>
</body>

</html>
相关推荐
梦想的初衷~3 天前
《双 Agent 工作台 + 全栈 GIS 项目搭建:前端地图/空间数据库/后端/云部署指南》
人工智能·echarts·leaflet·webgis·ai 辅助编程
一份执念13 天前
ECharts 安装与使用完全指南:从全量引入到小程序分包优化
微信小程序·echarts
一份执念13 天前
uni-app项目 (vue+vite + uni-UI)中引入umd格式JS文件,微信小程序中导入报错处理方案
前端·uni-app·echarts
Darling噜啦啦21 天前
Canvas 游戏开发与数据可视化实战:从飞机大战到 ECharts 报表
前端·echarts·canvas
Sweet锦23 天前
Vue3 集成 ApexCharts 避坑指南:从动画失效到自定义指令的完美解决方案
vue·echarts
文阿花1 个月前
Echarts实现3D饼状图
前端·javascript·echarts·饼状图
文阿花1 个月前
Echarts实现自动旋转柱状3D扇形图
前端·3d·echarts
文阿花1 个月前
Echarts实现自定旋转3D饼状图
javascript·3d·echarts·饼状图
文阿花1 个月前
Echarts实现柱状3D扇形图
android·3d·echarts
San813_LDD1 个月前
[Vue/HTML]ECharts 使用指南:从入门到绘制各种常用图表
vue.js·html·echarts