ui_chart
ui_chart 模块提供图表组件,包含图表数据序列与柱状图、折线图等可视化类型。
Class Summary
OHOS::UIChartDataSerial
管理图表数据序列,提供数据点的添加、修改、删除及样式配置功能
- 构造:
UIChartDataSerial() -
成员函数:
-
使用包含头文件:
#include "components/ui_chart.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_chart.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:PointStyle
- 模板形参:无
OHOS::UIChartDataSerial::PointStyle
定义折线图中最前端、最高、最低数据点的样式
- 构造:无
-
成员函数:无
-
使用包含头文件:
#include "components/ui_chart.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_chart.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:无
- 模板形参:无
OHOS::UIChart
图表基类,提供数据序列的添加、删除及坐标轴管理功能
- 构造:
UIChart() -
成员函数:
接口名称 功能简述 GetViewType 获取视图类型 SetHeight 设置图表高度 SetWidth 设置图表宽度 OnPreDraw 绘制前处理 OnDraw 绘制图表 AddDataSerial 添加数据序列 DeleteDataSerial 删除数据序列 ClearDataSerial 清除所有数据序列 RefreshChart 刷新图表并重绘脏区域 GetXAxis 获取 X 轴实例 GetYAxis 获取 Y 轴实例 EnableReverse 设置是否启用图表反转 -
使用包含头文件:
#include "components/ui_chart.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_chart.h - 公有运算符:无
- 继承关系:UIViewGroup
- 嵌套类型:无
- 模板形参:无
OHOS::UIChartPillar
柱状图类,提供柱状图的数据刷新和渐变配置功能
- 构造:
UIChartPillar() -
成员函数:
接口名称 功能简述 RefreshChart 刷新柱状图并重绘脏区域 SetGradient 设置柱状图渐变效果 ClearGradient 清除渐变效果 -
使用包含头文件:
#include "components/ui_chart.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_chart.h - 公有运算符:无
- 继承关系:UIChart
- 嵌套类型:无
- 模板形参:无
OHOS::UIChartPolyline
折线图类,提供折线图的数据刷新和渐变透明度配置功能
- 构造:
UIChartPolyline() -
成员函数:
接口名称 功能简述 RefreshChart 刷新折线图并重绘脏区域 SetGradientOpacity 设置填充颜色渐变透明度范围 SetGradientBottom 设置填充区域底边距 X 轴的距离 -
使用包含头文件:
#include "components/ui_chart.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_chart.h - 公有运算符:无
- 继承关系:UIChart
- 嵌套类型:无
- 模板形参:无
Functions
OHOS::UIChartDataSerial
UIChartDataSerial
UIChartDataSerial()
功能说明
- 构造 UIChartDataSerial 对象,初始化数据序列的默认状态
- 构造后需调用 SetMaxDataCount 设置最大数据点数,再进行数据操作
- 对象构造后数据点数组为空,数据计数为 0
SetMaxDataCount
bool SetMaxDataCount(uint16_t maxCount)
功能说明
- 设置数据序列可存储的最大数据点数量
- 必须在添加、删除、修改数据之前调用,否则数据操作将失败
- 默认最大数据点数为 0
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| maxCount | uint16_t | 可存储的最大数据点数 | 0 ~ 512 |
返回值
- 返回类型:
bool
返回操作结果
| 返回值 | 触发场景 |
|---|---|
| true | 设置成功 |
| false | 设置失败 |
ModifyPoint
bool ModifyPoint(uint16_t index, const Point& point)
功能说明
- 修改指定索引处数据点的值
- 修改后数据序列的最高点和最低点信息会自动更新
- 需在 SetMaxDataCount 之后调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| index | uint16_t | 待修改数据点的索引 | 0 ~ maxCount - 1 |
| point | const Point& | 新的数据点值,入参只读引用,不修改所指对象 | - |
返回值
- 返回类型:
bool
返回操作结果
| 返回值 | 触发场景 |
|---|---|
| true | 修改成功 |
| false | 修改失败 |
GetPoint
bool GetPoint(uint16_t index, Point& point)
功能说明
- 获取指定索引处数据点在图表中的坐标
- 若数据序列已绑定到图表,返回图表坐标;若未绑定,返回原始值
- 出参 point 中写入获取到的坐标值
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| index | uint16_t | 待获取数据点的索引 | 0 ~ dataCount - 1 |
| point | Point& | 出参引用,写入获取到的坐标值 | - |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| point | Point& | 数据点在图表中的坐标,出参引用,由被调用方写入 |
返回值
- 返回类型:
bool
返回操作结果
| 返回值 | 触发场景 |
|---|---|
| true | 获取成功 |
| false | 获取失败 |
GetOriginalPoint
bool GetOriginalPoint(uint16_t index, Point& point)
功能说明
- 获取指定索引处数据点的原始坐标值
- 返回用户添加的原始数据,非图表像素坐标
- 出参 point 中写入原始坐标值
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| index | uint16_t | 待获取数据点的索引 | 0 ~ dataCount - 1 |
| point | Point& | 出参引用,写入原始坐标值 | - |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| point | Point& | 数据点的原始坐标,出参引用,由被调用方写入 |
返回值
- 返回类型:
bool
返回操作结果
| 返回值 | 触发场景 |
|---|---|
| true | 获取成功 |
| false | 获取失败 |
PointArrayDup
bool PointArrayDup(Point** pointArrayBack)
功能说明
- 备份数据点数组,创建数据点数组的副本
- 调用者需负责释放返回的备份数组内存
- 用于在修改数据前保存当前数据快照
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| pointArrayBack | Point** | 出参指针,返回数据点数组副本的地址 | 非 nullptr |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| pointArrayBack | Point** | 数据点数组副本的地址,出参指针,由被调用方写入 |
返回值
- 返回类型:
bool
返回操作结果
| 返回值 | 触发场景 |
|---|---|
| true | 备份成功 |
| false | 备份失败 |
AddPoints
bool AddPoints(const Point* data, uint16_t count)
功能说明
- 向数据序列末尾添加数据点
- 新数据点追加到最后添加的数据之后
- 达到最大数据点数后无法继续添加
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| data | const Point* | 待添加数据点的起始地址指针,入参只读指针,不修改所指对象 | 非 nullptr,指向有效内存 |
| count | uint16_t | 待添加的数据点数量 | 1 ~ maxCount - dataCount |
返回值
- 返回类型:
bool
返回操作结果
| 返回值 | 触发场景 |
|---|---|
| true | 添加成功 |
| false | 添加失败 |
ClearData
void ClearData()
功能说明
- 清除数据序列中的所有数据点
- 调用后数据计数归零,可重新添加数据
- 不影响最大数据点数设置
GetDataCount
uint16_t GetDataCount() const
功能说明
- 获取当前数据序列中可用的数据点数量
- 该函数为 const 函数,不修改对象状态
- 返回值为当前实际存储的数据点数
返回值
- 返回类型:
uint16_t
返回数据点数量
| 返回值 | 触发场景 |
|---|---|
| 0 | 无数据点 |
| 1 ~ maxCount | 当前存储的数据点数 |
EnableSmooth
void EnableSmooth(bool smooth)
功能说明
- 设置是否对折线进行平滑处理,仅适用于折线图
- 启用平滑后部分数据会被丢弃,折线不会经过所有数据点
- 启用平滑时不建议同时使用填充颜色、最高点和最低点功能
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| smooth | bool | 是否启用平滑,true 表示启用,false 表示不启用 | true / false |
IsSmooth
bool IsSmooth() const
功能说明
- 查询折线是否启用了平滑处理
- 该函数为 const 函数,不修改对象状态
- 默认值为 false
返回值
- 返回类型:
bool
返回平滑状态
| 返回值 | 触发场景 |
|---|---|
| true | 已启用平滑 |
| false | 未启用平滑 |
EnableGradient
void EnableGradient(bool enable)
功能说明
- 设置是否启用折线图填充颜色,仅适用于折线图
- 默认填充折线与 X 轴之间的区域,可通过 SetGradientBottom 修改填充区域
- 默认值为 false
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| enable | bool | 是否启用填充颜色,true 表示启用,false 表示不启用 | true / false |
IsGradient
bool IsGradient() const
功能说明
- 查询折线图是否启用了填充颜色
- 该函数为 const 函数,不修改对象状态
- 默认值为 false
返回值
- 返回类型:
bool
返回填充颜色启用状态
| 返回值 | 触发场景 |
|---|---|
| true | 已启用填充颜色 |
| false | 未启用填充颜色 |
GetPeakIndex
uint16_t GetPeakIndex() const
功能说明
- 获取数据序列中最高点(Y 值最大)的索引
- 若存在多个最高点,返回第一个最高点的索引
- 该函数为 const 函数,不修改对象状态
返回值
- 返回类型:
uint16_t
返回最高点索引
GetLatestIndex
uint16_t GetLatestIndex() const
功能说明
- 获取最新添加或修改的数据点索引
- 该函数为 const 函数,不修改对象状态
- 返回最后一次添加或修改操作对应的数据点索引
返回值
- 返回类型:
uint16_t
返回最新数据点索引
GetValleyIndex
uint16_t GetValleyIndex() const
功能说明
- 获取数据序列中最低点(Y 值最小)的索引
- 若存在多个最低点,返回第一个最低点的索引
- 该函数为 const 函数,不修改对象状态
返回值
- 返回类型:
uint16_t
返回最低点索引
GetPeakData
int16_t GetPeakData() const
功能说明
- 获取数据序列中最高点的 Y 值
- 返回值为用户添加的原始数据值,非像素坐标
- 该函数为 const 函数,不修改对象状态
返回值
- 返回类型:
int16_t
返回最高点的 Y 值
GetValleyData
int16_t GetValleyData() const
功能说明
- 获取数据序列中最低点的 Y 值
- 返回值为用户添加的原始数据值,非像素坐标
- 该函数为 const 函数,不修改对象状态
返回值
- 返回类型:
int16_t
返回最低点的 Y 值
SetLastPointIndex
void SetLastPointIndex(uint16_t value)
功能说明
- 设置最后一个数据点的索引值
- 用于指定数据序列的最后一个有效数据点位置
- 调用后影响 GetLastPointIndex 的返回值
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| value | uint16_t | 最后一个数据点的索引 | 0 ~ maxCount - 1 |
GetLastPointIndex
uint16_t GetLastPointIndex() const
功能说明
- 获取最后一个数据点的索引值
- 该函数为 const 函数,不修改对象状态
- 返回通过 SetLastPointIndex 设置的值
返回值
- 返回类型:
uint16_t
返回最后一个数据点索引
GetLineColor
ColorType GetLineColor() const
功能说明
- 获取折线图中数据序列的折线颜色
- 该函数为 const 函数,不修改对象状态
- 返回的颜色类型为 ColorType
返回值
- 返回类型:
ColorType
返回折线颜色
GetFillColor
ColorType GetFillColor() const
功能说明
- 获取数据序列的填充颜色
- 折线图中为折线与 X 轴之间的填充色,柱状图中为柱体颜色
- 该函数为 const 函数,不修改对象状态
返回值
- 返回类型:
ColorType
返回填充颜色
SetFillColor
void SetFillColor(const ColorType& color)
功能说明
- 设置数据序列的填充颜色
- 折线图中为折线与 X 轴之间的填充色,柱状图中为柱体颜色
- 入参为只读引用,不修改所指对象
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| color | const ColorType& | 待设置的填充颜色,入参只读引用,不修改所指对象 | 有效的 ColorType 值 |
SetLineColor
void SetLineColor(const ColorType& color)
功能说明
- 设置折线图中数据序列的折线颜色,仅适用于折线图
- 入参为只读引用,不修改所指对象
- 设置后需刷新图表才能看到颜色变化
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| color | const ColorType& | 待设置的折线颜色,入参只读引用,不修改所指对象 | 有效的 ColorType 值 |
BindToChart
void BindToChart(UIChart* chart)
功能说明
- 将数据序列绑定到指定的图表对象
- 绑定后数据点坐标将根据图表坐标轴进行转换
- 入参指针由调用方管理,被调用方不接管所有权
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| chart | UIChart* | 待绑定的图表指针,入参指针,不接管所有权 | 非 nullptr |
HidePoint
void HidePoint(uint16_t index, uint16_t count)
功能说明
- 隐藏数据序列中从指定索引开始的连续数据点,仅适用于折线图
- 隐藏后数据点之间的连线不显示
- 不建议与最高点、最低点显示功能同时启用,因最高最低点可能出现在隐藏区域
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| index | uint16_t | 隐藏起始索引 | 0 ~ dataCount - 1 |
| count | uint16_t | 隐藏的数据点数量 | 1 ~ dataCount - index |
GetHideIndex
uint16_t GetHideIndex() const
功能说明
- 获取数据序列中隐藏起始索引
- 该函数为 const 函数,不修改对象状态
- 返回 HidePoint 设置的隐藏起始索引
返回值
- 返回类型:
uint16_t
返回隐藏起始索引
GetHideCount
uint16_t GetHideCount() const
功能说明
- 获取数据序列中隐藏的数据点数量
- 该函数为 const 函数,不修改对象状态
- 返回 HidePoint 设置的隐藏数量
返回值
- 返回类型:
uint16_t
返回隐藏数据点数量
SetHeadPointStyle
void SetHeadPointStyle(const PointStyle& style)
功能说明
- 设置折线图中最前端数据点的样式
- 入参为只读引用,不修改所指对象
- 设置后需刷新图表才能看到样式变化
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| style | const PointStyle& | 待设置的数据点样式,入参只读引用,不修改所指对象 | 有效的 PointStyle 值 |
SetTopPointStyle
void SetTopPointStyle(const PointStyle& style)
功能说明
- 设置折线图中最高数据点的样式
- 入参为只读引用,不修改所指对象
- 设置后需刷新图表才能看到样式变化
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| style | const PointStyle& | 待设置的数据点样式,入参只读引用,不修改所指对象 | 有效的 PointStyle 值 |
SetBottomPointStyle
void SetBottomPointStyle(const PointStyle& style)
功能说明
- 设置折线图中最低数据点的样式
- 入参为只读引用,不修改所指对象
- 设置后需刷新图表才能看到样式变化
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| style | const PointStyle& | 待设置的数据点样式,入参只读引用,不修改所指对象 | 有效的 PointStyle 值 |
GetHeadPointStyle
const PointStyle& GetHeadPointStyle() const
功能说明
- 获取折线图中最前端数据点的样式
- 该函数为 const 函数,不修改对象状态
- 返回值为只读引用
返回值
- 返回类型:
const PointStyle&
返回最前端数据点样式的只读引用
GetTopPointStyle
const PointStyle& GetTopPointStyle() const
功能说明
- 获取折线图中最高数据点的样式
- 该函数为 const 函数,不修改对象状态
- 返回值为只读引用
返回值
- 返回类型:
const PointStyle&
返回最高数据点样式的只读引用
GetBottomPointStyle
const PointStyle& GetBottomPointStyle() const
功能说明
- 获取折线图中最低数据点的样式
- 该函数为 const 函数,不修改对象状态
- 返回值为只读引用
返回值
- 返回类型:
const PointStyle&
返回最低数据点样式的只读引用
EnableHeadPoint
void EnableHeadPoint(bool enable)
功能说明
- 设置是否绘制折线图中最前端的数据点
- 最前端数据点为最新添加或修改的数据点
- 默认值为 false
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| enable | bool | 是否绘制最前端数据点,true 表示绘制,false 表示不绘制 | true / false |
GetEnableHeadPoint
bool GetEnableHeadPoint() const
功能说明
- 查询是否启用了最前端数据点的绘制
- 该函数为 const 函数,不修改对象状态
- 返回 EnableHeadPoint 设置的值
返回值
- 返回类型:
bool
返回最前端数据点绘制启用状态
| 返回值 | 触发场景 |
|---|---|
| true | 已启用最前端数据点绘制 |
| false | 未启用最前端数据点绘制 |
EnableTopPoint
void EnableTopPoint(bool enable)
功能说明
- 设置是否绘制折线图中的最高数据点
- 若存在多个最高点,仅绘制第一个
- 默认值为 false
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| enable | bool | 是否绘制最高点,true 表示绘制,false 表示不绘制 | true / false |
GetEnableTopPoint
bool GetEnableTopPoint() const
功能说明
- 查询是否启用了最高数据点的绘制
- 该函数为 const 函数,不修改对象状态
- 返回 EnableTopPoint 设置的值
返回值
- 返回类型:
bool
返回最高点绘制启用状态
| 返回值 | 触发场景 |
|---|---|
| true | 已启用最高点绘制 |
| false | 未启用最高点绘制 |
EnableBottomPoint
void EnableBottomPoint(bool enable)
功能说明
- 设置是否绘制折线图中的最低数据点
- 若存在多个最低点,仅绘制第一个
- 默认值为 false
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| enable | bool | 是否绘制最低点,true 表示绘制,false 表示不绘制 | true / false |
GetEnableBottomPoint
bool GetEnableBottomPoint() const
功能说明
- 查询是否启用了最低数据点的绘制
- 该函数为 const 函数,不修改对象状态
- 返回 EnableBottomPoint 设置的值
返回值
- 返回类型:
bool
返回最低点绘制启用状态
| 返回值 | 触发场景 |
|---|---|
| true | 已启用最低点绘制 |
| false | 未启用最低点绘制 |
DrawPoint
void DrawPoint(BufferInfo& gfxDstBuffer, const Rect& mask)
功能说明
- 绘制数据序列中的特殊数据点(最前端、最高、最低点)
- 根据 EnableHeadPoint、EnableTopPoint、EnableBottomPoint 的设置决定绘制哪些点
- 调用者需确保 gfxDstBuffer 和 mask 参数有效
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| gfxDstBuffer | BufferInfo& | 图形目标缓冲区,入参引用 | 有效的 BufferInfo 对象 |
| mask | const Rect& | 绘制遮罩区域,入参只读引用,不修改所指对象 | 有效的 Rect 对象 |
Refresh
void Refresh()
功能说明
- 刷新数据序列,更新脏区域标记
- 调用后触发图表的局部重绘
- 用于数据修改后通知图表更新显示
OHOS::UIChartDataSerial::PointStyle
该嵌套类仅有公有数据成员,无公有成员函数,详情参见 Structures 章节。
OHOS::UIChart
UIChart
UIChart()
功能说明
- 构造 UIChart 对象,初始化图表并添加 X 轴和 Y 轴子视图
- 设置默认线宽为 1,背景色为黑色
- 构造后需设置图表宽高和数据范围后才能正常显示
GetViewType
UIViewType GetViewType() const override
功能说明
- 获取视图类型,返回 UI_CHART 类型标识
- 该函数为 const 函数,不修改对象状态
- 用于在视图系统中识别图表组件类型
返回值
- 返回类型:
UIViewType
返回视图类型
| 返回值 | 触发场景 |
|---|---|
| UI_CHART | 当前对象为图表组件 |
SetHeight
void SetHeight(int16_t height) override
功能说明
- 设置图表组件的高度
- 重写父类 UIViewGroup 的 SetHeight 方法
- 设置后需刷新图表才能看到尺寸变化
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| height | int16_t | 待设置的图表高度 | 大于 0 |
SetWidth
void SetWidth(int16_t width) override
功能说明
- 设置图表组件的宽度
- 重写父类 UIViewGroup 的 SetWidth 方法
- 设置后需刷新图表才能看到尺寸变化
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 待设置的图表宽度 | 大于 0 |
OnPreDraw
bool OnPreDraw(Rect& invalidatedArea) const override
功能说明
- 图表绘制前处理,始终返回 false 表示不跳过绘制
- 该函数为 const 函数,不修改对象状态
- 重写父类的 OnPreDraw 方法
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| invalidatedArea | Rect& | 无效区域,入参引用 | 有效的 Rect 对象 |
返回值
- 返回类型:
bool
返回是否跳过绘制
| 返回值 | 触发场景 |
|---|---|
| false | 不跳过绘制,继续执行 OnDraw |
OnDraw
void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override
功能说明
- 执行图表绘制操作
- 重写父类 UIViewGroup 的 OnDraw 方法
- 由绘制框架在刷新时自动调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| gfxDstBuffer | BufferInfo& | 图形目标缓冲区,入参引用 | 有效的 BufferInfo 对象 |
| invalidatedArea | const Rect& | 无效区域,入参只读引用,不修改所指对象 | 有效的 Rect 对象 |
AddDataSerial
virtual bool AddDataSerial(UIChartDataSerial* dataSerial)
功能说明
- 向图表添加数据序列
- 添加后数据序列将与图表关联,坐标转换生效
- 入参指针由调用方管理,被调用方不接管所有权
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dataSerial | UIChartDataSerial* | 待添加的数据序列指针,入参指针,不接管所有权 | 非 nullptr |
返回值
- 返回类型:
bool
返回操作结果
| 返回值 | 触发场景 |
|---|---|
| true | 添加成功 |
| false | 添加失败 |
DeleteDataSerial
virtual bool DeleteDataSerial(UIChartDataSerial* dataSerial)
功能说明
- 从图表中删除指定数据序列
- 删除后数据序列与图表解除关联
- 入参指针由调用方管理,被调用方不接管所有权
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dataSerial | UIChartDataSerial* | 待删除的数据序列指针,入参指针,不接管所有权 | 非 nullptr,且已通过 AddDataSerial 添加 |
返回值
- 返回类型:
bool
返回操作结果
| 返回值 | 触发场景 |
|---|---|
| true | 删除成功 |
| false | 删除失败 |
ClearDataSerial
virtual void ClearDataSerial()
功能说明
- 清除图表中的所有数据序列
- 调用后图表不再显示任何数据
- 不影响坐标轴设置
RefreshChart
virtual void RefreshChart() = 0
功能说明
- 刷新图表并重绘脏区域,仅重绘需要更新的部分(如新增数据点)
- 性能优于 Invalidate 全量重绘
- 该函数为纯虚函数,由子类实现具体的刷新逻辑
GetXAxis
UIXAxis& GetXAxis()
功能说明
- 获取图表的 X 轴实例引用
- 返回引用可用于设置 X 轴的数据范围和刻度数
- 返回的引用指向图表内部持有的 X 轴对象
返回值
- 返回类型:
UIXAxis&
返回 X 轴实例引用
GetYAxis
UIYAxis& GetYAxis()
功能说明
- 获取图表的 Y 轴实例引用
- 返回引用可用于设置 Y 轴的数据范围和刻度数
- 返回的引用指向图表内部持有的 Y 轴对象
返回值
- 返回类型:
UIYAxis&
返回 Y 轴实例引用
EnableReverse
void EnableReverse(bool enable)
功能说明
- 设置是否启用图表反转
- 启用反转后 X 轴与图表顶部对齐,数据点像素位置不变,图表进行互补填充
- 同步设置 X 轴和 Y 轴的反转状态
- 默认值为 false
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| enable | bool | 是否启用图表反转,true 表示启用,false 表示不启用 | true / false |
OHOS::UIChartPillar
UIChartPillar
UIChartPillar()
功能说明
- 构造 UIChartPillar 柱状图对象
- 构造后需通过 AddDataSerial 添加数据序列
- 需设置图表宽高和坐标轴数据范围后才能正常显示
RefreshChart
void RefreshChart() override
功能说明
- 刷新柱状图并重绘脏区域,仅重绘需要更新的部分
- 性能优于 Invalidate 全量重绘
- 重写 UIChart 的纯虚函数,实现柱状图特有的刷新逻辑
SetGradient
bool SetGradient(const LinearGradient& linear, const ColorStop* stops, uint16_t stopCount)
功能说明
- 设置柱状图的渐变效果
- 通过线性渐变参数和颜色停靠点配置柱状图渐变
- 入参 stops 指针由调用方管理,被调用方不接管所有权
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| linear | const LinearGradient& | 线性渐变参数,入参只读引用,不修改所指对象 | 有效的 LinearGradient 值 |
| stops | const ColorStop* | 颜色停靠点数组指针,入参只读指针,不修改所指对象 | 非 nullptr,指向有效数组 |
| stopCount | uint16_t | 颜色停靠点数量 | 大于 0 |
返回值
- 返回类型:
bool
返回操作结果
| 返回值 | 触发场景 |
|---|---|
| true | 设置成功 |
| false | 设置失败 |
ClearGradient
void ClearGradient()
功能说明
- 清除柱状图的渐变效果
- 调用后柱状图恢复为纯色填充模式
- 不影响数据序列的填充颜色设置
OHOS::UIChartPolyline
UIChartPolyline
UIChartPolyline()
功能说明
- 构造 UIChartPolyline 折线图对象,初始化渐变透明度默认值
- 默认最小透明度为 OPA_TRANSPARENT,最大透明度为 OPA_OPAQUE
- 默认渐变底边距为 0
- 构造后需通过 AddDataSerial 添加数据序列
RefreshChart
void RefreshChart() override
功能说明
- 刷新折线图并重绘脏区域,仅重绘需要更新的部分
- 性能优于 Invalidate 全量重绘
- 重写 UIChart 的纯虚函数,实现折线图特有的刷新逻辑
SetGradientOpacity
void SetGradientOpacity(uint8_t minOpa, uint8_t maxOpa)
功能说明
- 设置折线图填充颜色渐变的透明度范围
- 透明度在最高点与最低点之间按比例计算
- 调用后标记需要刷新
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| minOpa | uint8_t | 最靠近 X 轴的透明度 | 0 (OPA_TRANSPARENT) ~ 255 (OPA_OPAQUE) |
| maxOpa | uint8_t | 最远离 X 轴的透明度 | 0 (OPA_TRANSPARENT) ~ 255 (OPA_OPAQUE) |
SetGradientBottom
void SetGradientBottom(uint16_t bottom)
功能说明
- 设置填充区域底边距 X 轴的距离
- 填充折线与底边之间的区域,未反转图表中底边在折线上方时不填充
- 反转图表中底边在折线下方时不填充
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| bottom | uint16_t | 填充区域底边距 X 轴的距离,以像素为单位 | 0 ~ 图表高度 |
Structures
OHOS::UIChartDataSerial::PointStyle
struct PointStyle : public HeapBase {
ColorType fillColor;
ColorType strokeColor;
uint16_t radius;
uint16_t strokeWidth;
};
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| fillColor | ColorType | 填充颜色 |
| strokeColor | ColorType | 边框颜色 |
| radius | uint16_t | 内半径 |
| strokeWidth | uint16_t | 边框宽度,从内半径向外扩展 |