Skip to content

水球图

下载和安装

TIP

当你不想全部导入所有的图表时请执行以下操作, 安装你想要的图表即可

下载

bash
bun add @v-charts2/liquidfill
bash
pnpm add @v-charts2/liquidfill
bash
yarn add @v-charts2/liquidfill
bash
npm i @v-chart2/liquidfill

安装

当你当前的打包工具为 webpack 时, 推荐你进行以下的安装步骤

WARNING

传统的 webpack4.x 没有 Tree Shaking 的支持, 如果你想引入 @v-charts2/liquidfill/vue2 或者 @v-charts2/liquidfill/vue3 的话, 可能会报错

javascript
import Vue from 'vue'
import VeLiquidfill from '@v-charts2/liquidfill' // 兼容 vue2.x 和 vue3.x 的支持, 将会自动加载支持 vue2.x 的支持包或者支持 vue3.x 的支持包
Vue.use(VeLiquidfill)

当你当前的打包工具为 vite 或者 rollup 时, 推荐你进行以下的安装步骤

javascript
import Vue from 'vue'
import VeLiquidfill from '@v-charts2/liquidfill/vue2' // 更好的 Tree Shaking 推荐引入 vue2.x 的专属支持包
import '@v-charts2/liquidfill/v-charts.css' // 需要手动引入样式
Vue.use(VeLiquidfill)
javascript
import { createApp } from 'vue'
const app = createApp()
import VeLiquidfill from '@v-charts2/liquidfill/vue3' // 更好的 Tree Shaking 推荐引入 vue3.x 的专属支持包
import '@v-charts2/liquidfill/v-charts.css' // 需要手动引入样式
app.use(VeLiquidfill)

DEMO

示例

水球图分层

设置多个水球图

设置水球图的形状

水球图文字标签及样式设置

settings 配置项

配置项简介类型备注
dimension维度String默认 columns[0]
metrics指标String默认 columns[1]
dataType数据类型String默认为percent,也可设置为normal
digit设置数据类型为percent时保留的位数Number默认为2
wave设置水球图分层Array[Number], Array[Array[Number]]默认为[], 数组中的值不大于row中对应的维度值, 且需要由大到小排列。可设置为[0.3, 0.2, 0.1]的形式, 表示每个水球图都显示4层, 且最下面三层的值分别为0.1, 0.2, 0.3;也可设置为[[0.2, 0.1], [0.1], []]的形式, 当有多个水球图时, wave中的每一项对应一个水球图的分层设置, 如果wave.length < rows.length,则剩余的水球图的分层设置以wave数组中最后一项为准。比如rows=[{val: 0.1}, {val: 0.2}, {val: 0.3}, {val: 0.4}], 而wave=[[0.2,0.1], [0.2]], 此时rows中后三项的分层设置均为[0.2]
seriesMap附加到 series 中的设置Object, Array[Object]默认为{}, 可以设置单个水球图, 也可以一次设置多个。数组形式配置见“多个水球图”示例, 对象形式配置见其他示例。

备注1: 通过 seriesMap, 可以为每一个水球图设置样式, 具体样式的配置可以参考文档或下面对应的中文文档。

echarts-liquidfill 配置中文文档(在seriesMap中使用))

seriesMap 配置项

配置项简介类型备注
color颜色Array[String]data中第一个数据对应color中第一个颜色, 以此类推。如果color.length小于data.length, data中数据项的颜色会循环展示。在这里, color设置的是row中metrics和wave的值对应数据波浪的颜色。
radius水球图的半径String单个水球图的半径, 相对于容器元素中较短边(width和height)的长度, 以百分数表示,如’50%’
center水球图的位置Array[String]设置时以百分数表示, 数组中第一项代表横坐标, 相对于容器的width的百分比, 第二项代表纵坐标, 相对于容器heigght的百分比。如[’50%’, ’50%’]表示居中
amplitude水波的起伏程度String用百分数表示。数值越大, 起伏程度越大, 如’10%’
waveLength水波的长度String相对于水球的直径。当为’50%’时, 水球图中一条数据上会出现两个水波;为33%时, 会出现三个水波。以此类推。
period水波滚动的速度Number, Function表示滚动一个水波需要花费的时间, 以毫秒为单位。可以直接设置数字, 也可以设置为function(value, index)的形式。
direction水波的滚动方向String整体设置水波的滚动方向, 可选’left’或’right’
shape水球图的形状String水球图的形状, 可选值有’circle’, ‘rect’, ‘roundRect’, ‘triangle’, ‘diamond’, ‘pin’, ‘arrow’, 也可以通过svg自定义’path://*'
waveAnimation水波是否滚动Boolean为true时水波滚动, 反之不滚动。默认为true
animationEasing水波初始的动画的速度曲线String水波初始的动画的速度曲线
animationEasingUpdate数据变动时水波动画的速度曲线String数据变动时水波动画的速度曲线
animationDuration水波初始动画所需要的时间Number水波初始动画所需要的时间
animationDurationUpdate数据变动时水波动画变化所需要的时间Number数据变动时水波动画变化所需要的时间
outline水球图的外边框设置Object水球图的外边框设置
backgroundStyle水球图的背景颜色Object水球图的背景颜色
itemStyle水球图波浪的样式Object水球图波浪的样式
emphasis鼠标悬浮时波浪的样式Object鼠标悬浮时波浪的样式
label图形上的文本标签Object图形上的文本标签

注意:不要在seriesMap中设置data, 这样会覆盖row中对应的数据和wave。

"outline" 水球图外边框配置

配置项简介类型备注
show是否显示Boolean
borderDistanceNumber水球图外边框和水球图核心内容的距离, 类似于元素的内边距
itemStyle水球图外边框的样式Object主要配置项有color: String(边框和核心内容之间的背景颜色, 也就是borderDistance那部分的背景颜色), borderColor: String(外边框的颜色), borderWidth: Number(外边框的宽度), shadowBlur: Number(外边阴影的模糊距离), shadowColor: String(边框阴影的颜色)

"backgroundStyle" 配置

配置项简介类型备注
color水球图的背景颜色String
borderWidth背景的边框Number
borderColor背景边框的颜色String

"itemStyle" 配置

配置项简介类型备注
opacity波浪的透明度Number
shadowBlur波浪阴影的模糊距离Number
shadowColor波浪阴影的颜色String

"emphasis" 配置

配置项简介类型备注
itemStyle鼠标悬浮时波浪的样式Objectopacity: Number(鼠标悬浮时波浪的透明度)

"label" 配置

配置项简介类型备注
show是否显示Boolean默认显示
color文本的颜色String
insideColor被波浪覆盖部分的文本的颜色String
fontWeight文本的字重String
fontSize字号Number
formatter自定义文字标签内容Function
align文本的位置String可选值有'left', 'center', 'right
baseline文本垂直方向上对齐方向String可选值有'top', 'middle', 'bottom'
position文本的位置String, Array[string]有inside, left, right, top, bottom可选, 也可设置为[’10%’, ’20%’]形式表示水平和垂直方向的位置

Released under the MIT License.