模拟echarts仪表盘进度条

该博客介绍了如何使用Echarts库创建一个具有渐变颜色的仪表盘进度条。通过设置多个系列,调整每个系列的endAngle属性来实现进度效果。文章详细展示了配置项,包括颜色渐变的线性渐变定义、轴线样式、指针及进度条的设置等,以达到特定的视觉效果。
摘要由CSDN通过智能技术生成

模拟echarts仪表盘进度条

需求:仪表盘的进度条达到不同的角度使用不同的颜色,且颜色是渐变的。某一时刻的静态图如下;
某一时刻的静态图
实现思路
在一个容器中画两个图,一个在上作为进度条,另一个在下作为轴线,通过’Z’属性可以控制图的层级。通过动态控制上方图形轴线的endAngle(结束角度)达到进度条的效果。

options

{
      tooltip: {
        trigger: "item",
      },
      legend: {
        top: "5%",
        left: "center",
      },
      series: [
        {
          z: 2,
          type: "gauge",
          axisLabel: false,
          detail: {
            formatter: "{value}",
          },
          splitLine: {
            show: false,
          },
          data: [
            {
              value: 50,
              detail: {
                show: false,
              },
            },
          ],
          center: ["50%", "55%"],
          radius: "100%",
          startAngle: -180,
          splitNumber: 10,
          endAngle: -360,
          clockwise: true,
          axisLine: {
            show: true,
            lineStyle: {
              color: [
      [
        1,
        new echarts.graphic.LinearGradient(0, 0, 1, 0, [
          {
            offset: 1,
            color: "#35C78C",
          },
        ]),
      ],
    ],
              width: 35,
            },
          },
          pointer: {
            show: false,
            length: "80%",
            width: 10,
            offsetCenter: ["0", "-20"],
            itemStyle: {
              color: "#fff",
            },
          },
          progress: {
            show: false,
            width: true,
          },
          axisTick: {
            show: false,
            splitNumber: 0,
            distance: 0,
          },
        },
        {
          z: 1,
          type: "gauge",
          axisLabel: false,
          detail: {
            formatter: "{value}",
          },
          splitLine: {
            show: false,
          },
          data: [
            {
              value: 60,
              detail: {
                show: false,
              },
            },
          ],
          center: ["50%", "55%"],
          radius: "100%",
          startAngle: -180,
          splitNumber: 10,
          endAngle: -360,
          clockwise: true,
          axisLine: {
            show: true,
            lineStyle: {
              width: 35,
            },
          },
          pointer: {
            show: false,
            length: "80%",
            width: 10,
            offsetCenter: ["0", "-20"],
            itemStyle: {
              color: "#fff",
            },
          },
          progress: {
            show: false,
            width: true,
          },
          axisTick: {
            show: false,
            splitNumber: 0,
            distance: 0,
          },
        },
      ],
    };
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值