Skip to content

ChartArea 面积趋势图

适合展示连续趋势、增长曲线、收益走势、活跃度变化等页面级数据。组件基于 uni-app Canvas 2D 绘制,内置柔和面积渐变、轻网格、触摸高亮与进入动画。

基础用法

vue
<template>
  <lk-chart-area :data="trend" :height="300" show-x-axis-label />
</template>

<script setup lang="ts">
const trend = [
  { label: '09:30', value: 62 },
  { label: '10:00', value: 66 },
  { label: '10:30', value: 64 },
  { label: '11:00', value: 73 },
  { label: '13:00', value: 76 },
  { label: '14:00', value: 82 },
  { label: '15:00', value: 88 },
];
</script>

默认高亮

vue
<lk-chart-area
  :data="trend"
  :default-index="trend.length - 1"
  show-x-axis-label
  @hover-change="index => activeIndex = index"
/>

数据格式

ts
interface LiteChartPoint {
  label?: string;
  value: number;
}

Props

参数说明类型默认值
data趋势数据LiteChartPoint[][]
height容器高度,数字按 rpx 处理number / string300
padding内边距,单位 rpxnumber28
lineWidth线宽,单位 rpxnumber5
color图表主色,支持主题色或 Canvas 颜色stringprimary
showGrid是否显示柔和网格线booleantrue
showXAxisLabel是否显示 X 轴首尾标签booleanfalse
tooltip是否显示触摸提示booleantrue
defaultIndex默认高亮索引,-1 表示不高亮number-1
animationDuration动画时长,单位 msnumber700
effect图表特效等级none / subtle / premiumpremium
effectDuration图表特效周期,单位 msnumber2800

Events

事件名说明回调参数
hoverChange触摸高亮点变化,无高亮时为 -1(index: number)

使用建议

  • 页面级趋势优先用 ChartArea,卡片内迷你趋势优先用 ChartSparkline
  • 数据点过少时建议关闭 showXAxisLabel,避免首尾标签造成视觉噪声。
  • 金额、比例、步数等展示格式应在外部处理,组件只消费数值。

注意事项

WARNING

图表基于 Canvas 绘制,H5、App、小程序在字体度量、渐变和抗锯齿上可能存在细微差异。

TIP

如果需要固定 CSS 高度,可以传入字符串,例如 height="180px";数字高度按 rpx 处理。

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

ChartArea 面积趋势图

正在连接预览服务...

请先运行 pnpm run dev:h5