爬行的蜗牛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: golang Linux PHP
查看: 116|回复: 0

水波纹动画特效 (含源码)

[复制链接]

152

主题

48

回帖

1137

积分

管理员

积分
1137
发表于 2024-11-23 16:56:37 | 显示全部楼层 |阅读模式
效果


111.gif


完整代码


  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>水柱图动画</title>
  7.     <script src="https://cdn.jsdelivr.net/npm/echarts@4.4.0/dist/echarts.min.js"></script>
  8.     <script src="https://cdn.jsdelivr.net/npm/echarts-liquidfill@2.0.6/dist/echarts-liquidfill.min.js"></script>
  9. </head>
  10. <body>
  11.     <div id="main" style="width: 750px;height:600px;"></div>
  12.     <script>
  13.         // 初始化 ECharts 实例
  14.         var myChart = echarts.init(document.getElementById('main'));

  15.         var value = 0.65;
  16.         var value1 = 0.16;
  17.         var data = [value, value1];
  18.         var option = {
  19.             backgroundColor: '#0F224C',
  20.             title: [
  21.                 {
  22.                     text: '本年收缴率',
  23.                     x: '22%',
  24.                     y: '70%',
  25.                     textStyle: {
  26.                         fontSize: 14,
  27.                         fontWeight: '100',
  28.                         color: '#5dc3ea',
  29.                         lineHeight: 16,
  30.                         textAlign: 'center',
  31.                     },
  32.                 },
  33.                 {
  34.                     text: '本月收缴率',
  35.                     x: '73%',
  36.                     y: '70%',
  37.                     textStyle: {
  38.                         fontSize: 14,
  39.                         fontWeight: '100',
  40.                         color: '#5dc3ea',
  41.                         lineHeight: 16,
  42.                         textAlign: 'center',
  43.                     },
  44.                 },
  45.             ],
  46.             series: [
  47.                 {
  48.                     type: 'liquidFill',
  49.                     radius: '47%',
  50.                     center: ['25%', '45%'],
  51.                     data: [value, value],
  52.                     backgroundStyle: {
  53.                         borderWidth: 1,
  54.                         color: 'rgba(51, 66, 127, 0.7)',
  55.                     },
  56.                     label: {
  57.                         normal: {
  58.                             formatter: (value * 100).toFixed(2) + '%',
  59.                             textStyle: {
  60.                                 fontSize: 50,
  61.                                 color: '#fff',
  62.                             },
  63.                         },
  64.                     },
  65.                     outline: {
  66.                         borderDistance: 0,
  67.                         itemStyle: {
  68.                             borderWidth: 2,
  69.                             borderColor: '#112165',
  70.                         },
  71.                     },
  72.                     color: ['#446bf5', '#2ca3e2'],
  73.                 },
  74.                 {
  75.                     type: 'liquidFill',
  76.                     radius: '47%',
  77.                     center: ['75%', '45%'],
  78.                     data: [value1, value1],
  79.                     backgroundStyle: {
  80.                         borderWidth: 1,
  81.                         color: 'rgba(51, 66, 127, 0.7)',
  82.                     },
  83.                     label: {
  84.                         normal: {
  85.                             formatter: (value1 * 100).toFixed(2) + '%',
  86.                             textStyle: {
  87.                                 fontSize: 28,
  88.                                 color: '#fff',
  89.                             },
  90.                         },
  91.                     },
  92.                     outline: {
  93.                         borderDistance: 0,
  94.                         itemStyle: {
  95.                             borderWidth: 2,
  96.                             borderColor: '#112165',
  97.                         },
  98.                     },
  99.                     color: ['#2aa1e3', '#08bbc9'],
  100.                 },
  101.             ],
  102.         };

  103.         // 使用配置项设置图表
  104.         myChart.setOption(option);
  105.     </script>
  106. </body>
  107. </html>
复制代码
实现效果说明
  • 页面布局

    • 页面包含一个 div 元素,其 id 为 main,用于承载 ECharts 图表。
    • div 的宽度为 750px,高度为 600px。

  • ECharts 初始化

    • 使用 echarts.init 方法初始化 ECharts 实例,并将 main 元素作为容器。

  • 数据定义

    • 定义了两个变量 value 和 value1,分别表示“本年收缴率”和“本月收缴率”的值。
    • 这两个值分别为 0.65 和 0.16。

  • 图表配置

    • 水柱图

    • 类型为 liquidFill,表示液态填充图。

    • 半径为容器的 47%,中心位置为 75% 水平位置和 45% 垂直位置。
    • 数据为 [value1, value1],即 0.16。
    • 背景样式设置了边框宽度为 1,颜色为半透明的 rgba(51, 66, 127, 0.7)。
    • 标签显示为百分比形式,字体大小为 28px,颜色为白色。
    • 外轮廓无边距,边框宽度为 2,颜色为 #112165。
    • 颜色渐变从 #2aa1e3 到 #08bbc9

  • 应用配置

    • 使用 myChart.setOption(option) 方法将配置项应用到 ECharts 实例中,从而生成并显示图表。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表