跳转至

ui_axis

ui_axis 模块提供坐标轴组件,包含通用坐标轴基类及X轴、Y轴专用组件,用于图表坐标显示。

Class Summary

OHOS::UIAxis

坐标轴基类,定义坐标轴基本属性,配合 UIChart 使用

OHOS::UIXAxis

X 轴类,定义 X 轴特有属性与功能,配合 UIChart 使用

  • 构造:无
  • 成员函数

    接口名称 功能简述
    UpdateAxis 更新 X 轴
    TranslateToPixel 将数据值转换为 X 轴像素坐标
    SetDataRange 设置 X 轴数据范围
    SetMarkNum 设置 X 轴刻度数量
    GetMarkNum 获取 X 轴刻度数量
    UpdateAxisPoints 更新 X 轴端点
  • 使用包含头文件#include "components/ui_axis.h"

  • 声明头文件middleware/services/gui/uikit/ui/interfaces/kits/components/ui_axis.h
  • 公有运算符:无
  • 继承关系:UIAxis
  • 嵌套类型:无
  • 模板形参:无

OHOS::UIYAxis

Y 轴类,定义 Y 轴特有属性与功能,配合 UIChart 使用

  • 构造:无
  • 成员函数

    接口名称 功能简述
    UpdateAxis 更新 Y 轴
    TranslateToPixel 将数据值转换为 Y 轴像素坐标
    SetDataRange 设置 Y 轴数据范围
    SetMarkNum 设置 Y 轴刻度数量
    GetMarkNum 获取 Y 轴刻度数量
    UpdateAxisPoints 更新 Y 轴端点
    SetAxisAlign 设置 Y 轴对齐方式
  • 使用包含头文件#include "components/ui_axis.h"

  • 声明头文件middleware/services/gui/uikit/ui/interfaces/kits/components/ui_axis.h
  • 公有运算符:无
  • 继承关系:UIAxis
  • 嵌套类型AxisAlign
  • 模板形参:无

Functions

OHOS::UIAxis

GetViewType

virtual UIViewType GetViewType() const override

功能说明

  • 核心用途:获取当前视图的类型标识
  • 返回值为 UI_AXIS,标识该视图为坐标轴类型
  • 此函数为 const 成员函数,不修改对象状态

返回值

  • 返回类型:UIViewType

返回视图类型标识

返回值 触发场景
UI_AXIS 当前视图为坐标轴类型

SetDataRange

virtual bool SetDataRange(uint16_t min, uint16_t max) = 0

功能说明

  • 核心用途:设置坐标轴的数据范围,限定坐标轴显示的最小值与最大值
  • 最大值必须大于最小值,否则设置失败
  • 此函数为纯虚函数,由子类实现具体逻辑

入参

名称 参数类型 详细说明 约束取值范围
min uint16_t 数据范围最小值 0 ~ 65535
max uint16_t 数据范围最大值 0 ~ 65535,且必须大于 min

返回值

  • 返回类型:bool

返回设置结果

返回值 触发场景
true 设置成功
false 设置失败(max 不大于 min)

SetMarkNum

virtual void SetMarkNum(uint16_t count) = 0

功能说明

  • 核心用途:设置坐标轴上的刻度数量
  • 柱状图中,刻度数量须与柱子数量一致,确保每根柱子位于两刻度之间
  • 此函数为纯虚函数,由子类实现具体逻辑

入参

名称 参数类型 详细说明 约束取值范围
count uint16_t 刻度数量 0 ~ 65535,默认值为 5

EnableReverse

void EnableReverse(bool enable)

功能说明

  • 核心用途:设置是否启用坐标轴反转显示
  • 启用后坐标轴方向反转,即数据从大到小排列
  • 此函数为非 const 成员函数,会修改对象内部状态

入参

名称 参数类型 详细说明 约束取值范围
enable bool 是否启用反转 true:启用反转;false:不启用反转

GetEnableReverse

bool GetEnableReverse() const

功能说明

  • 核心用途:获取当前坐标轴是否启用反转显示
  • 此函数为 const 成员函数,不修改对象状态
  • 返回值为内部 enableReverse_ 成员的状态

返回值

  • 返回类型:bool

返回反转状态

返回值 触发场景
true 已启用反转
false 未启用反转

GetStartPoint

const Point& GetStartPoint() const

功能说明

  • 核心用途:获取坐标轴起始点坐标
  • 返回值为 const 引用,不修改对象状态
  • 起始点由 UpdateAxisPoints 更新

返回值

  • 返回类型:const Point&

返回坐标轴起始点坐标引用

返回值 触发场景
start_ 坐标轴起始点的 const 引用

GetEndPoint

const Point& GetEndPoint() const

功能说明

  • 核心用途:获取坐标轴终止点坐标
  • 返回值为 const 引用,不修改对象状态
  • 终止点由 UpdateAxisPoints 更新

返回值

  • 返回类型:const Point&

返回坐标轴终止点坐标引用

返回值 触发场景
end_ 坐标轴终止点的 const 引用

SetMarkInterval

void SetMarkInterval(float Interval)

功能说明

  • 核心用途:设置坐标轴刻度间隔
  • 此函数为非 const 成员函数,会修改对象内部状态
  • 间隔值影响坐标轴上刻度线之间的距离

入参

名称 参数类型 详细说明 约束取值范围
Interval float 刻度间隔值 正浮点数

GetMarkInterval

float GetMarkInterval() const

功能说明

  • 核心用途:获取当前坐标轴刻度间隔
  • 此函数为 const 成员函数,不修改对象状态
  • 返回值为内部 markInterval_ 成员的当前值

返回值

  • 返回类型:float

返回刻度间隔值

返回值 触发场景
markInterval_ 当前刻度间隔值

SetLineColor

void SetLineColor(const ColorType& color)

功能说明

  • 核心用途:设置坐标轴线的颜色
  • 入参为 ColorType 的 const 引用,不修改传入的颜色对象
  • 设置后将在下次绘制时生效

入参

名称 参数类型 详细说明 约束取值范围
color const ColorType& 入参只读引用,坐标轴线颜色 ColorType 有效值

OnDraw

void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override

功能说明

  • 核心用途:绘制坐标轴到目标缓冲区
  • 重写父类 UIViewGroup 的 OnDraw 方法
  • 此函数为非 const 成员函数,会修改渲染状态

入参

名称 参数类型 详细说明 约束取值范围
gfxDstBuffer BufferInfo& 入参引用,目标图形缓冲区 非 nullptr
invalidatedArea const Rect& 入参只读引用,需要重绘的区域 有效的 Rect 区域

OnPreDraw

bool OnPreDraw(Rect& invalidatedArea) const override

功能说明

  • 核心用途:预绘制回调,判断是否需要在主绘制前执行操作
  • 此函数固定返回 false,表示不需要预绘制处理
  • 此函数为 const 成员函数,不修改对象状态

入参

名称 参数类型 详细说明 约束取值范围
invalidatedArea Rect& 入参引用,需要重绘的区域 有效的 Rect 区域

返回值

  • 返回类型:bool

返回是否需要预绘制

返回值 触发场景
false 坐标轴不需要预绘制处理

UpdateAxis

virtual bool UpdateAxis() = 0

功能说明

  • 核心用途:更新坐标轴的布局与数据
  • 此函数为纯虚函数,由子类实现具体更新逻辑
  • 调用后将根据最新数据范围和刻度设置重新计算坐标轴

返回值

  • 返回类型:bool

返回更新结果

返回值 触发场景
true 更新成功
false 更新失败

TranslateToPixel

virtual void TranslateToPixel(int16_t& value) = 0

功能说明

  • 核心用途:将数据值转换为像素坐标,基于坐标轴数据范围计算相对位置
  • 入参 value 既是输入(原始数据值)也是输出(转换后的像素坐标)
  • 此函数为纯虚函数,由子类实现具体转换逻辑

入参

名称 参数类型 详细说明 约束取值范围
value int16_t& 入参引用,输入数据值,输出转换后的像素坐标 int16_t 取值范围

UpdateAxisPoints

virtual void UpdateAxisPoints() = 0

功能说明

  • 核心用途:更新坐标轴端点位置
  • 此函数为纯虚函数,由子类实现具体端点计算逻辑
  • 调用后将重新计算坐标轴起始点和终止点坐标

OHOS::UIXAxis

UpdateAxis

bool UpdateAxis() override

功能说明

  • 核心用途:更新 X 轴的布局与数据
  • 重写父类 UIAxis 的纯虚函数,实现 X 轴特有更新逻辑
  • 调用后将根据最新数据范围和刻度设置重新计算 X 轴

返回值

  • 返回类型:bool

返回更新结果

返回值 触发场景
true 更新成功
false 更新失败

TranslateToPixel

void TranslateToPixel(int16_t& value) override

功能说明

  • 核心用途:将数据值转换为 X 轴像素坐标,基于 X 轴数据范围计算相对位置
  • 入参 value 既是输入(原始数据值)也是输出(转换后的 X 轴像素坐标)
  • 重写父类 UIAxis 的纯虚函数

入参

名称 参数类型 详细说明 约束取值范围
value int16_t& 入参引用,输入数据值,输出转换后的 X 轴像素坐标 int16_t 取值范围

SetDataRange

bool SetDataRange(uint16_t min, uint16_t max) override

功能说明

  • 核心用途:设置 X 轴的数据范围,限定 X 轴显示的最小值与最大值
  • 最大值必须大于最小值,否则设置失败
  • 重写父类 UIAxis 的纯虚函数

入参

名称 参数类型 详细说明 约束取值范围
min uint16_t 数据范围最小值 0 ~ 65535
max uint16_t 数据范围最大值 0 ~ 65535,且必须大于 min

返回值

  • 返回类型:bool

返回设置结果

返回值 触发场景
true 设置成功
false 设置失败(max 不大于 min)

SetMarkNum

void SetMarkNum(uint16_t count) override

功能说明

  • 核心用途:设置 X 轴上的刻度数量
  • 柱状图中,刻度数量须与柱子数量一致
  • 重写父类 UIAxis 的纯虚函数

入参

名称 参数类型 详细说明 约束取值范围
count uint16_t 刻度数量 0 ~ 65535,默认值为 5

GetMarkNum

uint16_t GetMarkNum() const

功能说明

  • 核心用途:获取 X 轴当前的刻度数量
  • 此函数为 const 成员函数,不修改对象状态
  • 返回值为内部 markDataCount_ 成员的当前值

返回值

  • 返回类型:uint16_t

返回刻度数量

返回值 触发场景
markDataCount_ 当前 X 轴刻度数量

UpdateAxisPoints

void UpdateAxisPoints() override

功能说明

  • 核心用途:更新 X 轴端点位置
  • 重写父类 UIAxis 的纯虚函数,实现 X 轴特有端点计算逻辑
  • 调用后将重新计算 X 轴起始点和终止点坐标

OHOS::UIYAxis

UpdateAxis

bool UpdateAxis() override

功能说明

  • 核心用途:更新 Y 轴的布局与数据
  • 重写父类 UIAxis 的纯虚函数,实现 Y 轴特有更新逻辑
  • 调用后将根据最新数据范围和刻度设置重新计算 Y 轴

返回值

  • 返回类型:bool

返回更新结果

返回值 触发场景
true 更新成功
false 更新失败

TranslateToPixel

void TranslateToPixel(int16_t& value) override

功能说明

  • 核心用途:将数据值转换为 Y 轴像素坐标,基于 Y 轴数据范围计算相对位置
  • 入参 value 既是输入(原始数据值)也是输出(转换后的 Y 轴像素坐标)
  • 重写父类 UIAxis 的纯虚函数

入参

名称 参数类型 详细说明 约束取值范围
value int16_t& 入参引用,输入数据值,输出转换后的 Y 轴像素坐标 int16_t 取值范围

SetDataRange

bool SetDataRange(uint16_t min, uint16_t max) override

功能说明

  • 核心用途:设置 Y 轴的数据范围,限定 Y 轴显示的最小值与最大值
  • 最大值必须大于最小值,否则设置失败
  • 重写父类 UIAxis 的纯虚函数

入参

名称 参数类型 详细说明 约束取值范围
min uint16_t 数据范围最小值 0 ~ 65535
max uint16_t 数据范围最大值 0 ~ 65535,且必须大于 min

返回值

  • 返回类型:bool

返回设置结果

返回值 触发场景
true 设置成功
false 设置失败(max 不大于 min)

SetMarkNum

void SetMarkNum(uint16_t count) override

功能说明

  • 核心用途:设置 Y 轴上的刻度数量
  • 重写父类 UIAxis 的纯虚函数
  • 默认刻度数量为 5

入参

名称 参数类型 详细说明 约束取值范围
count uint16_t 刻度数量 0 ~ 65535,默认值为 5

GetMarkNum

uint16_t GetMarkNum() const

功能说明

  • 核心用途:获取 Y 轴当前的刻度数量
  • 此函数为 const 成员函数,不修改对象状态
  • 返回值为内部 markDataCount_ 成员的当前值

返回值

  • 返回类型:uint16_t

返回刻度数量

返回值 触发场景
markDataCount_ 当前 Y 轴刻度数量

UpdateAxisPoints

void UpdateAxisPoints() override

功能说明

  • 核心用途:更新 Y 轴端点位置
  • 重写父类 UIAxis 的纯虚函数,实现 Y 轴特有端点计算逻辑
  • 调用后将重新计算 Y 轴起始点和终止点坐标

SetAxisAlign

void SetAxisAlign(AxisAlign axisAlign)

功能说明

  • 核心用途:设置 Y 轴在图表中的水平对齐方式
  • 设置后自动调用 UpdateAxisPoints 更新端点位置
  • 此函数为非 const 成员函数,会修改对象内部状态

入参

名称 参数类型 详细说明 约束取值范围
axisAlign AxisAlign 入参,Y 轴对齐方式 AxisAlign 枚举值

Enumerations

UIYAxis::AxisAlign

enum class AxisAlign {
    ALIGN_LEFT,
    ALIGN_RIGHT,
};
枚举成员 取值 描述
ALIGN_LEFT 0 Y 轴左对齐
ALIGN_RIGHT 1 Y 轴右对齐