echarts实现酷炫圆环,伪渐变

直接上代码

HTML

<div id="chart1" style="width: 160px; height: 160px"></div>

JS

const chart1 = document.getElementById("chart1");
      const myChart1 = echarts.init(chart1);
      const option1 = getConfig(80, "副标题");
      myChart1.setOption(option1);

      function getConfig(data = 80, text) {
        const option = {
          title: {
            text: `{a|${data}}%\n {b|${text}}`,
            x: "center",
            y: "center",
            textStyle: {
              color: "#fff",
              fontSize: 10,
              rich: {
                a: {
                  fontSize: 18,
                  color: "#fff",
                },
                b: {
                  fontSize: 8,
                  color: "#fff",
                  padding: [0, 0, 4, 0],
                },
              },
            },
          },
          series: [
            {
              type: "pie",
              name: "外层描边底环",
              radius: ["65%", "66%"],
              hoverAnimation: false,
              clockWise: false,
              itemStyle: {
                normal: {
                  color: "#98B8FF",
                },
              },
              label: {
                show: false,
              },
              data: [100],
            },
            {
              type: "pie",
              name: "外层描边",
              radius: ["63%", "66%"],
              hoverAnimation: false,
              clockWise: false,
              label: {
                show: false,
              },
              data: [
                { value: 25, itemStyle: { color: "transparent" } },
                { value: 25, itemStyle: { color: "#739FFF" } },
                { value: 25, itemStyle: { color: "transparent" } },
                { value: 25, itemStyle: { color: "#739FFF" } },
              ],
            },

            {
              type: "gauge",
              radius: "53%",
              clockwise: false,
              startAngle: "0",
              endAngle: "359.9999",
              splitNumber: 9,
              detail: {
                offsetCenter: [0, -20],
                formatter: " ",
              },
              pointer: {
                show: false,
              },
              axisLine: {
                show: true,
                lineStyle: {
                  color: [
                    [0.1, "#235AD8"],
                    [0.22, "#4377ed"],
                    [0.34, "#6494fe"],
                    [0.45, "#8cb1fe"],
                    [
                      1,
                      new echarts.graphic.LinearGradient(0, 0, 1, 0, [
                        {
                          offset: 0,
                          color: "#8cb1fe",
                        },
                        {
                          offset: 1,
                          color: "#E8F0FF",
                        },
                      ]),
                    ],
                  ],
                  width: 100,
                },
              },
              axisTick: {
                show: false,
              },
              splitLine: {
                show: true,
                length: 10,
                lineStyle: {
                  color: "#fff",
                  width: 6,
                },
              },
              axisLabel: {
                show: false,
              },
            },
            {
              type: "pie",
              name: "内层细圆环",
              radius: ["41%", "45%"],
              hoverAnimation: false,
              clockWise: false,
              itemStyle: {
                normal: {
                  color: "#fff",
                },
              },
              label: {
                show: false,
              },
              data: [100],
            },
            {
              type: "pie",
              name: "内层环",
              radius: [0, "41%"],
              hoverAnimation: false,
              clockWise: false,
              itemStyle: {
                color: {
                  type: "linear",
                  x: 0,
                  y: 0,
                  x2: 1,
                  y2: 0,
                  colorStops: [
                    {
                      offset: 0,
                      color: "#235AD8", // 100% 处的颜色
                    },
                    {
                      offset: 0.5,
                      color: "#6695FF", // 100% 处的颜色
                    },
                    {
                      offset: 1,
                      color: "#A9C4FA", // 0% 处的颜色
                    },
                  ],
                  global: false, // 缺省为 false
                },
              },
              label: {
                show: false,
              },
              data: [100],
            },
          ],
        };
        return option;
      }

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于 Echarts 实现全国地图的酷炫动态效果,可以使用 Echarts 提供的动画和事件绑定功能,结合自己的业务需求进行实现。 下面是一个简单的示例代码: ```javascript // 创建一个 Echarts 实例 var myChart = echarts.init(document.getElementById('main')); // 定义地图的数据 var geoCoordMap = { '北京': [116.46, 39.92], '上海': [121.48, 31.22], '广州': [113.23, 23.16], '深圳': [114.07, 22.62], '杭州': [119.50, 30.25] }; // 定义某些城市的数据 var data = [ {name: '北京', value: 100}, {name: '上海', value: 200}, {name: '广州', value: 300}, {name: '深圳', value: 400}, {name: '杭州', value: 500} ]; // 定义地图的样式 var option = { // 地图的背景色 backgroundColor: '#404a59', // 地图的样式 geo: { map: 'china', label: { emphasis: { show: false } }, roam: true, itemStyle: { normal: { areaColor: '#323c48', borderColor: '#111' }, emphasis: { areaColor: '#2a333d' } } }, // 数据的样式 series: [ { name: '城市', type: 'effectScatter', coordinateSystem: 'geo', data: data.map(function (item) { return { name: item.name, value: geoCoordMap[item.name].concat([item.value]) }; }), symbolSize: function (val) { return val[2] / 10; }, showEffectOn: 'emphasis', rippleEffect: { brushType: 'stroke' }, hoverAnimation: true, label: { normal: { formatter: '{b}', position: 'right', show: true } }, itemStyle: { normal: { color: '#46bee9' } } } ] }; // 设置地图的配置项并渲染地图 myChart.setOption(option); // 地图的动态效果 myChart.on('click', function (params) { // 点击某个城市时的操作 console.log(params); }); ``` 通过设置不同的数据和样式,可以实现各种不同的地图效果。同时,Echarts 还提供了丰富的文档和示例,可以帮助开发者更好地理解和使用它的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值