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>
相关推荐
Sweet锦13 小时前
Vue3 集成 ApexCharts 避坑指南:从动画失效到自定义指令的完美解决方案
vue·echarts
文阿花4 天前
Echarts实现3D饼状图
前端·javascript·echarts·饼状图
文阿花4 天前
Echarts实现自动旋转柱状3D扇形图
前端·3d·echarts
文阿花4 天前
Echarts实现自定旋转3D饼状图
javascript·3d·echarts·饼状图
文阿花5 天前
Echarts实现柱状3D扇形图
android·3d·echarts
San813_LDD5 天前
[Vue/HTML]ECharts 使用指南:从入门到绘制各种常用图表
vue.js·html·echarts
有梦想的程序星空8 天前
【环境配置】Vue3项目离线化本地部署echarts全攻略
前端·javascript·vue·echarts
Highcharts.js9 天前
通过CSS变量实现图表色彩与逻辑解耦、图表主题统一|Highcharts Palette 详解
c++·echarts·highcharts·可视化开发·palette·styledmode·图表样式
暗冰ཏོ12 天前
ECharts 前端图表开发全攻略:参数配置、项目实战与高级可视化资源整理
前端·vue.js·echarts·visual studio code
暗冰ཏོ12 天前
前端数据大屏开发完整指南:Vue3 + ECharts 自适应可视化实战
前端·javascript·echarts·数据大屏·大屏端