echarts实现比较炫的仪表盘

前言:

        echarts图形

效果图:

实现源码:

 


let value = 40;
option = {
    backgroundColor:"#061740",
    title: {
        text: '{a|'+ value +'}{c|%}'+'\n'+'{b|资料管理}',
        x: 'center',
        y: 'center',
        textStyle: {
            rich:{
                a: {
                    fontSize: 48,
                    color: '#29EEF3'
                },
                b:{
                    fontSize: 28,
                    color: '#ffffff',
                    padding:[0,10]
                },
                
                c: {
                    fontSize: 20,
                    color: '#ffffff',
                    // padding: [5,0]
                }
            }
        }
    },
    legend: {
        type: "plain",
        orient: "vertical",
        right: 0,
        top: "10%",
        align: "auto",
        data: [{
            name: '涨价后没吃过',
            icon: "circle"
        }, {
            name: '天天吃',
            icon: "circle"
        }, {
            name: '三五天吃一次',
            icon: "circle"
        }, {
            name: '半个月吃一次',
            icon: "circle"
        }],
        textStyle: {
            color: "white",
            fontSize: 16,
            padding: [10, 1, 10, 0]
        },
        selectedMode:false
    },
    series: [ 
        //外面的线
         {
            name: "ring5",
            type: 'custom',
            coordinateSystem: "none",
            renderItem: function(params, api) {
                return {
                    type: 'arc',
                    shape: {
                        cx: api.getWidth() / 2,
                        cy: api.getHeight() / 2,
                        r: Math.min(api.getWidth(), api.getHeight()) / 2 * 0.6,//线的位置
                        startAngle: 0,//开始的地方
                        endAngle: 180//结束的地方
                    },
                    style: {
                        stroke: "#018373",
                        fill: "transparent",
                        lineWidth: 1.5
                    },
                    silent: true
                };
            },
            data: [0]
        },
        //里面的线
         {
            name: "ring5",
            type: 'custom',
            coordinateSystem: "none",
            renderItem: function(params, api) {
                return {
                    type: 'arc',
                    shape: {
                        cx: api.getWidth() / 2,
                        cy: api.getHeight() / 2,
                        r: Math.min(api.getWidth(), api.getHeight()) / 2 * 0.43,//线的位置
                        startAngle: 0,//开始的地方
                        endAngle: 180//结束的地方
                    },
                    style: {
                        stroke: "#018373",
                        fill: "transparent",
                        lineWidth: 1.5
                    },
                    silent: true
                };
            },
            data: [0]
        },
        //环形图主体
        {
            name: '吃猪肉频率',
            type: 'pie',
            radius: ['58%', '45%'],
            silent: true,
            clockwise: true,
            startAngle: 90,
            z: 0,
            zlevel: 0,
            label: {
                normal: {
                    position: "center",

                }
            },
            data: [{
                    value: value,
                    name: "",
                    itemStyle: {
                        normal: {
                            color: { // 完成的圆环的颜色
                                colorStops: [{
                                    offset: 0,
                                    color: '#018F7E' // 0% 处的颜色
                                }, {
                                    offset: 1,
                                    color: '#018F7E' // 100% 处的颜色
                                }]
                            },
                        }
                    }
                },
                {
                    value: 100-value,
                    name: "",
                    label: {
                        normal: {
                            show: false
                        }
                    },
                    itemStyle: {
                        normal: {
                            color: "#01423B"
                        }
                    }
                }
            ]
        },
        //小格子
        {
            name: "",
            type: "gauge",
            radius: "58%",
            center: ['50%', '50%'],
            startAngle: 0,
            endAngle: 359.9,
            splitNumber: 128,//改变小格子宽度
            hoverAnimation: true,
            axisTick: {
                show: false
            },
            splitLine: {
                length: 60,
                lineStyle: {
                    width: 5,
                    color: "#061740",//改变小格子的线颜色
                }
            },
            axisLabel: {
                show: false
            },
            pointer: {
                show: false
            },
            axisLine: {
                lineStyle: {
                    opacity: 0
                }
            },
            detail: {
                show: false
            },
            data: [{
                value: 0,
                name: ""
            }]
        },
        
    ]
};

更多图形入口

改自原版入口

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 以下是一个简单的使用 Echarts 实现仪表盘的代码示例: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts 仪表盘示例</title> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> </head> <body> <div id="chart" style="width: 600px; height: 400px;"></div> <script> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('chart')); // 指定表的配置项和数据 var option = { tooltip: { formatter: "{a} <br/>{b} : {c}%" }, series: [ { name: '业务指标', type: 'gauge', detail: {formatter:'{value}%'}, data: [{value: 50, name: '完成率'}] } ] }; // 使用刚指定的配置项和数据显示表 myChart.setOption(option); </script> </body> </html> ``` 这个示例使用了 Echarts 的 `gauge` 类型,通过设置 `detail` 属性来显示指针的值。你可以根据需要调整参数来满足你的需求。 ### 回答2: ECharts 是一款基于 JavaScript 的数据可视化库,可以帮助用户通过简洁、直观的方式展示数据。要实现一个仪表盘,可以根据 ECharts 的官方文档和示例进行操作。 首先,需要引入 ECharts 的库文件,并创建一个容器用于放置仪表盘表。可以使用如下代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>仪表盘示例</title> <script src="https://cdn.jsdelivr.net/npm/echarts@4.8.0/dist/echarts.min.js"></script> </head> <body> <div id="chartContainer" style="width: 600px; height: 400px;"></div> <script> // 使用 ECharts 初始化表 var chart = echarts.init(document.getElementById('chartContainer')); // 定义仪表盘的配置项和数据 var option = { series: [ { type: 'gauge', detail: {show: false}, data: [{value: 50, name: '完成率'}] } ] }; // 将配置项应用于表 chart.setOption(option); </script> </body> </html> ``` 在上述代码中,`<script>` 标签中的 JavaScript 部分用于初始化表、定义仪表盘的配置项和数据,并将配置项应用于表。`chartContainer` 是用于放置表的容器的 ID,可以根据需要进行调整。 在 `option` 配置项中,`type` 指定了表的类型为 `gauge`,`detail` 设置了仪表盘的详情显示设置,`data` 数组中的对象设置了仪表盘的数据。其中 value 表示仪表盘当前显示的数值,name 表示该数据的名称。 运行上述代码,就可以在浏览器中看到一个简单的仪表盘表。根据需要,可以根据 ECharts 提供的配置项进行更丰富的设置和样式调整。 ### 回答3: ECharts是一款非常强大的数据可视化工具,我们可以使用它实现一个仪表盘。下面是一个使用ECharts绘制仪表盘的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ECharts 仪表盘示例</title> <script src="https://cdn.staticfile.org/echarts/4.7.0/echarts.min.js"></script> </head> <body> <div id="chart" style="width: 400px; height: 300px;"></div> <script> // 初始化echarts实例 var myChart = echarts.init(document.getElementById('chart')); // 配置项 var option = { series: [ { type: 'gauge', detail: {formatter: '{value}%'}, data: [{value: 50, name: '完成率'}] } ] }; // 使用刚指定的配置项和数据显示表 myChart.setOption(option); </script> </body> </html> ``` 在代码中我们首先引入了ECharts的库文件,可以通过`<script>`标签的`src`属性来引入。然后在`<div>`标签中创建了一个容器,用于显示仪表盘。接着使用JavaScript代码初始化了ECharts实例,并以一个`<div>`元素的id作为参数传入。在配置项中定义了一个仪表盘的系列及其数据,其中`value`表示完成率,`name`表示名称。最后使用`setOption`方法将配置项传入ECharts实例并显示出来。 通过以上代码,我们可以在页面中看到一个简单的仪表盘,其中的完成率为50%。你可以根据实际需求进行配置调整,如更改仪表盘的样式、添加更多的数据和指针等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值