Skip to content

ChartRing 环形图

用于完成率、预算占比、健康环、多段配额等场景。支持单值进度和多段占比两种模式,内置中心文案、底轨和进入动画。

单值模式

vue
<lk-chart-ring
  title="76%"
  subtitle="完成率"
  :value="76"
  :max="100"
/>

多段模式

vue
<template>
  <lk-chart-ring
    title="92%"
    subtitle="Activity"
    :segments="segments"
    :height="260"
    :stroke-width="26"
  />
</template>

<script setup lang="ts">
const segments = [
  { label: 'Move', value: 52 },
  { label: 'Exercise', value: 28 },
  { label: 'Stand', value: 20 },
];
</script>

数据格式

ts
interface RingChartSegment {
  label?: string;
  value: number;
  color?: string;
}

传入 segments 后优先使用多段模式;未传时使用 value / max 计算单值进度。

Props

参数说明类型默认值
value单值模式当前值number0
max单值模式最大值number100
segments多段占比数据,优先于 value / maxRingChartSegment[][]
height容器高度,数字按 rpx 处理number / string240
strokeWidth圆环厚度,单位 rpxnumber24
padding内边距,单位 rpxnumber20
showTrack是否显示底轨booleantrue
title中心主标题string''
subtitle中心副标题string''
showCenter是否显示中心文字booleantrue
animationDuration动画时长,单位 msnumber700
effect图表特效等级none / subtle / premiumpremium
effectDuration图表特效周期,单位 msnumber2600

使用建议

  • 单一完成率用 value / max,多类配额用 segments
  • segmentsvalue 建议使用业务原值,组件负责按总和计算占比。
  • 中心文案建议由业务侧格式化,例如 92%¥12.8k3/5
  • 多段数据超过 5 段时可考虑改用柱状图或列表,避免环图辨识度下降。

注意事项

WARNING

ChartRing 当前不暴露点击分段事件;如果需要分段交互,应在图表外提供图例列表或操作区。

基于 MIT 协议开源 · 粤ICP备2022114240号-3

ChartRing 环形图

正在连接预览服务...

请先运行 pnpm run dev:h5