Skip to content

你正在查看 v1.0.1 文档。切换到最新版请访问:/

HarmonyCharts 快速上手(HarmonyOS / ArkTS)

一句话说明(What)

HarmonyCharts 是面向 HarmonyOS / ArkTS 的高性能图表库,用于在鸿蒙应用中快速构建可交互的数据可视化。

适用场景(When)

适用:

  • 鸿蒙应用内的报表与趋势分析
  • 多端(手机/平板/车机)的统一图表体验
  • 需要轴、图例、联动等交互能力的场景

不适合:

  • 仅需静态图片展示且无交互需求

通过鸿蒙第三方中心仓库安装(OHPM)

推荐通过 OHPM 依赖管理直接安装 HarmonyCharts。

方式一:命令行安装

bash
ohpm install @ymhc/harmonycharts

方式二:手动添加依赖

oh-package.json5 中添加:

json5
dependencies: {
  "@ymhc/harmonycharts": "1.0.1"
}

安装完成后在 ArkTS 中直接引入:

ts
import { BaseLine } from '@ymhc/harmonycharts';

完整页面示例(ArkTS 可直接运行)

ts
import { BaseLine } from '@ymhc/harmonycharts';
import type { BaseLineConfig } from '@ymhc/harmonycharts';

@Entry
struct Index {
  @Prop baseLineConfig: BaseLineConfig = {
    categories: ['Mon', 'Tue', 'Wed', 'Thu'],
    series: [{ name: 'Trend', data: [120, 200, 150, 80] }],
    tooltip: { show: true, trigger: 'axis', confine: true },
    legend: { show: true }
  };

  build() {
    Column() {
      BaseLine({ config: this.baseLineConfig, chartHeight: 220 })
    }
  }
}

基础用法(How - Basic)

增加 tooltip

ts
tooltip: { show: true, trigger: 'axis' }

添加 legend

ts
legend: { show: true }

设置 grid

ts
grid: { top: 24, left: 16, right: 16, bottom: 28 }

配置项说明(API)

HarmonyChartsOption 常用项

参数说明类型默认值
xAxisX 轴配置XAxisOption未设置
yAxisY 轴配置YAxisOption未设置
series图表系列SeriesOption[][]
tooltip提示框TooltipOption未设置
legend图例LegendOption未设置
grid网格GridOption未设置
dataZoom缩放DataZoomOption未设置

事件与交互(Events)

点击事件

ts
chart.on('click', (params) => {
  // 处理点击
});

轴指示器

使用 axisPointertooltip.trigger: 'axis' 组合。

高级用法(Advanced)

  • 多 grid 多轴联动
  • dataZoom inside/slider 同步
  • emphasis / blur / select 状态链路

注意事项 / 设计说明(Notes)

  • HarmonyCharts 不支持 any / unknown,配置项需显式类型。
  • 渲染阶段避免频繁创建对象,建议复用 option。

核心问题(Q&A)

Q: 最小可运行配置长什么样?
A: 只要提供 xAxis / yAxis / series 即可渲染,详见「快速上手」示例。

Q: 新手最容易踩的坑是什么?
A: 主要是类型不显式(ArkTS 禁止 any/unknown)和频繁创建新对象导致性能抖动。

Q: 想要交互最先开哪几个?
A: 优先开启 tooltiplegend,再按需加 dataZoomaxisPointer

HarmonyCharts 鸿蒙图表文档。