Skip to content

Chart 图表 ​

用 ArkUI Path 原生绘制的精美图表,使用 chart-1…5 Token 着色。用 SparkChartConfig 描述一次数据系列;每个图表都会测量自身宽度、自动稀疏标签、以动效 key "chart" 入场,并在悬停、点按或横向拖动时显示 shadcn 风格的提示框。

基础用法 ​

网页近似预览,真机效果以 HarmonyOS 渲染为准。

响应式 ​

没有断点:直角坐标图默认采用自身宽度的 16:9 区域(160–320vp),跳过会重叠的类目标签,并根据高度调整数值刻度的数量。

迷你走势图 ​

用于统计卡片和表格单元格的小型内联走势。

网页近似预览,真机效果以 HarmonyOS 渲染为准。

空状态 ​

SChartContainer({ empty }) 显示一个弱化的占位。

网页近似预览,真机效果以 HarmonyOS 渲染为准。

API ​

从组件库源码中的 @Param / @Event / @BuilderParam 声明自动提取。

SChartContainer ​

shadcn 的 ChartContainer:围绕一个或多个图表的卡片式外框。与其中的图表共享数据系列的显示状态(SparkContext),并渲染图例(legend,点击即可切换)以及空状态。它会测量自身宽度:容器较窄时图例会收紧。

属性类型默认值说明
configSparkChartConfignew SparkChartConfig([])
legendbooleanfalse
legendPlacementSparkChartLegendPlacement
SparkChartLegendPlacement = 'top' | 'bottom'
'bottom'
legendTogglebooleantrue图例项切换其数据系列
emptybooleanfalse显示空状态,而不是内容
emptyTextResourceStr$r('app.string.spark_no_data')
emptyHeightnumber200

插槽: 子组件(尾随闭包)

SChartLegend ​

shadcn 的 ChartLegend + ChartLegendContent:居中、可换行的色块图例。设置 interactive 后,点击某一项即可隐藏 / 显示对应的数据系列(通过 state 共享)。

属性类型默认值说明
configSparkChartConfignew SparkChartConfig([])
stateSparkChartState | undefinedundefined
keysstring[] | undefinedundefined需要列出的键(默认:配置中的每个数据系列);饼图传入其扇区的键
interactivebooleantrue
compactbooleanfalse

SChartTooltipCard ​

shadcn 的 ChartTooltipContent:标签 + 每个数据系列一行(指示器、名称、数值)。

属性类型默认值说明
titlestring''
itemsSparkChartTooltipItem[][]
indicatorSparkChartIndicator
SparkChartIndicator = 'dot' | 'line' | 'dashed'
'dot'

SChartEmpty ​

弱化的「无数据」区块。

属性类型默认值说明
textResourceStr$r('app.string.spark_no_data')
boxHeightnumber200

SSparkline ​

微型内联趋势线(无坐标轴、无提示框)——例如放在统计卡片或表格单元格内。填满所获得的宽度;数值范围取数据的实际范围(不会强制经过 0)。与其他图表一样带入场绘制动画。

属性类型默认值说明
valuesnumber[][]
colorstring'chart-1'令牌名称('chart-1'、'primary' 等)或 '#hex'
filledbooleantrue
curveSparkChartCurve
SparkChartCurve = 'linear' | 'monotone' | 'step'
'monotone'
chartHeightnumber32
lineWidthnumber1.5
endDotbooleanfalse最后一个数值处的圆点

MIT Licensed