Echarts 水滴图

echarts 插件,官方地址:https://echarts.apache.org/zh/download-extension.html

<template>
  <div class="LiquidFill">
    <div class="styles" @click="HandleClick()">
      <el-button>simple</el-button>
      <el-button>Multiple Waves</el-button>
      <el-button>Color and Opacity</el-button>
      <el-button>Color and Opacity 2</el-button>
      <el-button>Static Waves</el-button>
      <el-button>Still Water</el-button>
      <el-button>Change A Single Wave</el-button>
      <el-button>Background Style</el-button>
      <el-button>Outline Style</el-button>
      <el-button>Shape</el-button>
      <el-button>Background Style</el-button>
    </div>
    <!-- Component content -->
    <div class="liquid" ref="liquid"></div>

    <div>
      <a href="https://github.com/ecomfe/echarts-liquidfill?tab=readme-ov-file">文档</a>
    </div>
  </div>
</template>
import * as echarts from "echarts";
import "echarts-liquidfill";
export default {
  name: "LiquidFill",
  mounted() {
    this.initChart();
  },
  data() {
    return {
      liquid:undefined
    };
  },
  methods: {
    initChart() {
      this.liquid = echarts.init(this.$refs.liquid);
      const options_1 = {
        series: [
          {
            type: "liquidFill",
            data: [0.6],
          },
        ],
      };
      this.liquid.setOption(options_1);
    },
    HandleClick() {
      const button = event.target.closest(".el-button");
      if (!button) return;
      const text = button.innerText;
      this.liquid.clear();
      switch(text) {
        case 'simple':
          this.liquid.setOption({
            series: [{ type: "liquidFill", data: [0.6] }]
          });
          break;
        case 'Multiple Waves':
          this.liquid.setOption({
            series: [{ type: "liquidFill", data: [0.6, 0.5, 0.4, 0.3] }]
          });
          break;
        case 'Color and Opacity':
          this.liquid.setOption({
            series: [{
              type: "liquidFill",
              data: [0.6],
              color: ['#294D99', '#156ACF', '#1598ED', '#45BDFF'],
              itemStyle: { opacity: 0.6 }
            }]
          });
          break;
        case 'Color and Opacity 2':
          this.liquid.setOption({
            series: [{
              type: "liquidFill",
              data: [0.6],
              color: ['red', 'green', 'blue'],
              itemStyle: { opacity: 0.3 }
            }]
          });
          break;
        case 'Static Waves':
          this.liquid.setOption({
            series: [{
              type: "liquidFill",
              data: [0.6],
              waveAnimation: false
            }]
          });
          break;
        case 'Still Water':
          this.liquid.setOption({
            series: [{
              type: "liquidFill",
              data: [0.6],
              amplitude: 0
            }]
          });
          break;
        case 'Change A Single Wave':
          this.liquid.setOption({
            series: [{
              type: "liquidFill",
              data: [0.6, {value: 0.5, direction: 'left'}]
            }]
          });
          break;
        case 'Background Style':
          this.liquid.setOption({
            series: [{
              type: "liquidFill",
              data: [0.6],
              backgroundStyle: { color: 'yellow' }
            }]
          });
          break;
        case 'Outline Style':
          this.liquid.setOption({
            series: [{
              type: "liquidFill",
              data: [0.6],
              outline: { show: false }
            }]
          });
          break;
        case 'Shape':
          this.liquid.setOption({
            series: [{
              type: "liquidFill",
              data: [0.6],
              shape: 'diamond'
            }]
          });
          break;
        default:
          this.liquid.setOption({
            series: [{ type: "liquidFill", data: [0.6] }]
          });
      }

    },
  },
};


Echarts 水滴图
https://halo.jiangling.site/archives/liquid-fill
作者
你的降灵
发布于
2025年07月13日
许可协议