【OpenHarmony】 鸿蒙 UI开发之MpChart(二)

243 阅读23分钟

接口说明

一、ChartModel

所有图表配置构建类的基类。

方法名描述
animateX展示图表时带有X轴动画。
animateXY展示图表时同时带有X轴,Y轴动画。
animateY展示图表时带有Y轴动画。
calcMinMax计算 y-min 和 y-max 值以及 y-delta 和 x-delta 值。
calculateOffsets计算图表到边框的偏移量,具体取决于图例的位置,x轴y轴的长度,及其的标签位置。
clear清空图表的所有数据,将其置空null,并刷新图表。
clearValues从图表中删除所有数据集(以及条目),并刷新图表。
getAnimator返回负责对图表值进行动画处理的动画制作者。
getCenter返回图表(整个视图)的中心点的可回收的MPPointF实例。
getCenterOffsets返回图表的图形绘制的中心区域的可回收的MPPointF实例。
getCenterOfView返回图表(整个视图)的中心点的可回收的MPPointF实例。
getContentRect返回图表绘制的内容区域的矩形。
getData返回已为图表设置的 ChartData 对象。
getDefaultValueFormatter返回默认的数据格式化接口实现类。
getHighlightByTouchPoint返回 LineChart,ScatterChart,CandleStickChart等图表触摸屏幕时的Highlight 对象(包含 x-index 和 DataSet 索引)。
getHighlighted返回当前高亮显示值的数组。这可能是空值,如果没有突出显示,则为空数组。
getHighlighter返回当前高亮显示条目接口。
getLegend获取图例对象,通过该对象的setEnable(false)方法可以关闭图例显示。
getLegendRenderer获取图例渲染器。
getRenderer获取图表数据渲染器。
getXAxis获取X轴对象。
invalidate重绘图表。
notifyDataSetChanged图表数据刷新。
onChartSizeChanged更新图表正确Size。
onDraw图表绘制方法。
setContext2D设置图表绘制的画布。
setData设置图表数据。
setDragDecelerationEnabled设置是否开启惯性滑动。
setHitTestMode设置触摸测试类型。
getHitTestMode获取触摸测试类型。

1.animateX

public animateX(durationMillis: number): void;

展示图表时带有X轴动画。

参数:

参数名类型必填说明
durationMillisnumber动画播放的时长,单位毫秒。

public animateX(durationMillis: number, easing: string): void;

展示图表时带有X轴动画。

参数:

参数名类型必填说明
durationMillisnumber动画播放的时长,单位毫秒。
easingstring动画插值曲线。

2.animateXY

public animateXY(durationMillisX: number, durationMillisY: number): void;

展示图表时同时带有X轴,Y轴动画。

参数:

参数名类型必填说明
durationMillisXnumberX轴条目动画播放的时长,单位毫秒。
durationMillisYnumberY轴条目动画播放的时长,单位毫秒。

public animateXY(durationMillisX: number, durationMillisY: number, easingX: string): void;

展示图表时同时带有X轴,Y轴动画。

参数:

参数名类型必填说明
durationMillisXnumberX轴条目动画播放的时长,单位毫秒。
durationMillisYnumberY轴条目动画播放的时长,单位毫秒。
easingXstringX轴动画插值曲线。

public animateXY(durationMillisX: number, durationMillisY: number, easingX: string, easingY: string): void;

展示图表时同时带有X轴,Y轴动画。

参数:

参数名类型必填说明
durationMillisXnumberX轴条目动画播放的时长,单位毫秒。
durationMillisYnumberY轴条目动画播放的时长,单位毫秒。
easingXstringX轴动画插值曲线 。
easingYstringY轴动画插值曲线。

3.animateY

展示图表时带有Y轴动画。

public animateY(durationMillis: number): void;

参数:

参数名类型必填说明
durationMillisnumber动画播放的时长,单位毫秒。

public animateY(durationMillis: number, easing: string): void;

参数:

参数名类型必填说明
durationMillisnumber动画播放的时长,单位毫秒。
easingstring动画插值曲线。

4.calcMinMax

protected abstract calcMinMax() : void;

计算 y-min 和 y-max 值以及 y-delta 和 x-delta 值。

5.calculateOffsets

protected abstract calculateOffsets() : void;

计算图表到边框的偏移量,具体取决于图例的位置,x轴y轴的长度,及其的标签位置。

6.clear

public clear() : void;

清空图表的所有数据,将其置空null,并刷新图表。

7.clearValues

public clearValues() : void;

从图表中删除所有数据集(以及条目),并刷新图表。

8.getAnimator

public getAnimator(): ChartAnimator | null;

返回负责对图表值进行动画处理的动画制作者。

返回值:

类型说明
ChartAnimator null动画管理类。

9.getCenter

public getCenter(): MPPointF;

返回图表(整个视图)的中心点的可回收的MPPointF实例。

返回值:

类型说明
MPPointF可回收的MPPointF实例。

10.getCenterOffsets

public getCenterOffsets(): MPPointF | null;

返回图表的图形绘制的中心区域的可回收的MPPointF实例。

返回值:

类型说明
MPPointF null可回收的MPPointF实例。

11.getCenterOfView

public getCenterOfView(): MPPointF;

返回图表(整个视图)的中心点的可回收的MPPointF实例。

返回值:

类型说明
MPPointF可回收的MPPointF实例。

12.getContentRect

public getContentRect(): Rect;

返回图表绘制的内容区域的矩形。

返回值:

类型说明
Rect图表绘制的内容区域的矩形。

13.getData

public getData(): T | null ;

返回已为图表设置的 ChartData 对象。

返回值:

类型说明
Tnull数据对象。

14.getDefaultValueFormatter

public getDefaultValueFormatter(): IValueFormatter;

返回默认的数据格式化接口实现类。

返回值:

类型说明
IValueFormatter数据格式化接口实现类。

15.getHighlightByTouchPoint

public getHighlightByTouchPoint(x: number, y: number): Highlight | null;

返回 LineChart,ScatterChart,CandleStickChart等图表触摸屏幕时的Highlight 对象(包含 x-index 和 DataSet 索引)。

参数:

参数名类型必填说明
xnumber屏幕触摸点的x轴坐标。
ynumber屏幕触摸点的y轴坐标。

返回值:

类型说明
Highlight null触摸点的高亮对象。

16.getHighlighted

public getHighlighted(): Highlight[] | null;

返回当前高亮显示值的数组。这可能是空值,如果没有突出显示,则为空数组。

参数:

参数名类型必填说明
xnumber屏幕触摸点的x轴坐标。
ynumber屏幕触摸点的y轴坐标。

返回值:

类型说明
Highlight null触摸点的高亮对象。

17.getHighlighter

public getHighlighter(): IHighlighter | null;

返回当前高亮显示条目接口。

返回值:

类型说明
IHighlighter null获取触摸点的高亮对象接口类。

18.getLegend

public getLegend(): Legend | null ;

获取图例对象。

返回值:

类型说明
Legend null获取图例对象。

19.getLegendRenderer

public getLegendRenderer(): LegendRenderer | null;

获取图例渲染器。

返回值:

类型说明
LegendRenderer null获取图例渲染器。

20.getRenderer

public getRenderer(): DataRenderer | null;

获取图表数据渲染器。

返回值:

类型说明
DataRenderer null获取图表数据渲染器。

21.getXAxis

public getXAxis(): XAxis | null;

获取X轴对象。

返回值:

类型说明
XAxis null获取X轴对象。

22.invalidate

public abstract invalidate();

重绘图表。

23.notifyDataSetChanged

public abstract notifyDataSetChanged();

图表数据刷新。

24.onChartSizeChanged

public abstract onChartSizeChanged(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void;

更新图表正确Size。

参数:

参数名类型必填说明
newWidthnumber图表当前显示的宽。
newHeightnumber图表当前显示的高。
oldWidthnumber图表改变Size前显示的宽。
oldHeightnumber图表改变Size前显示的高。

25.onDraw

protected onDraw(c: CanvasRenderingContext2D): void ;

图表绘制方法。

参数:

参数名类型必填说明
cCanvasRenderingContext2D图表绘制的画布。

26.setContext2D

public abstract setContext2D(context2d: CanvasRenderingContext2D);

设置图表绘制的画布。

参数:

参数名类型必填说明
cCanvasRenderingContext2D图表绘制的画布。

27.setData

public setData(data: T) : void;

设置图表数据。

参数:

参数名类型必填说明
dataT图表数据,T继承自ChartData。

28.setDragDecelerationEnabled

public setDragDecelerationEnabled(enabled: boolean);

设置是否开启惯性滑动

参数:

参数名类型必填说明
enabledboolean能力标识。

29.setHitTestMode

public setHitTestMode(hitTestMode: HitTestMode)

设置触摸测试类型

参数:

参数名类型必填说明
hitTestModeHitTestMode触摸测试类型

30.getHitTestMode

public getHitTestMode(): HitTestMode

获取触摸测试类型。

返回值:

类型说明
HitTestMode触摸测试类型

DD一下: 鸿蒙开发各类文档,也可关注公众号<程序猿百晓生>获取。

1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案) 
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
.......

二、BarLineChartBaseModel

柱状图基础类

方法名描述
calcMinMax计算坐标的最大最小值。
calculateOffsets计算图表offset。
drawGridBackground绘制图表背景。
getAxis根据Y轴位置获取Y轴对象。
getAxisLeft获取左Y轴对象。
getAxisRight获取右Y轴对象。
getMinOffset获取最小Offset值。
getRendererLeftYAxis获取左Y轴渲染器。
getRendererRightYAxis获取右Y轴渲染器。
getRendererXAxis获取X轴渲染器。
setLongPressCursorEnabled设置长按游标能力标识。
getLongPressCursorEnabled获取长按游标能力标识。
setLongPressDuration设置长按响应时长。
getLongPressDuration获取长按响应时长。
setSwipeEnabled设置手势滑动响应能力(结合长按游标能力使用)。
getSwipeEnabled获取手势滑动响应能力标识(结合长按游标能力使用)。

1.calcMinMax

protected calcMinMax(): void;

计算坐标的最大最小值。

2.calculateOffsets

public calculateOffsets(): void;

计算图表offset。

3.drawGridBackground

protected drawGridBackground(c: CanvasRenderingContext2D): void;

绘制图表背景。

参数:

参数名类型必填说明
cCanvasRenderingContext2D图表绘制的上下文。

4.getAxis

public getAxis(axis: AxisDependency): YAxis | null;

根据Y轴位置获取Y轴对象。

参数:

参数名类型必填说明
axisAxisDependencyY轴位置。

返回值:

类型说明
YAxis null获取Y轴对象。

5.getAxisLeft

public getAxisLeft(): YAxis | null;

获取左Y轴对象。

返回值:

类型说明
YAxis null获取Y轴对象。

6.getAxisRight

public getAxisRight(): YAxis | null;

获取右Y轴对象。

返回值:

类型说明
YAxis null获取Y轴对象。

7.getMinOffset

public getMinOffset(): number;

获取最小Offset值。

返回值:

类型说明
number获取最小Offset值。

8.getRendererLeftYAxis

public getRendererLeftYAxis(): YAxisRenderer | null;

获取左Y轴渲染器。

返回值:

类型说明
YAxisRenderer null获取左Y轴渲染器。

9.getRendererRightYAxis

public getRendererRightYAxis(): YAxisRenderer | null;

获取右Y轴渲染器。

返回值:

类型说明
YAxisRenderer null获取右Y轴渲染器。

10.getRendererXAxis

public getRendererXAxis(): XAxisRenderer | null;

获取X轴渲染器。

返回值:

类型说明
XAxisRenderer null获取X轴渲染器。

11.setLongPressCursorEnabled

public setLongPressCursorEnabled(enabled: boolean): void;

设置长按游标能力标识。

参数:

参数名类型必填说明
enabledboolean能力标识。

返回值:无

12.getLongPressCursorEnabled

public getLongPressCursorEnabled(): boolean;

获取长按游标能力标识。

参数:无

返回值:

类型说明
boolean长按游标能力标识。

13.setLongPressDuration

public setLongPressDuration(duration: number): void;

设置长按响应时长。

参数:

参数名类型必填说明
durationnumber时长。

返回值:无

14.getLongPressDuration

public getLongPressDuration(): number;

获取长按响应时长。

参数:无

返回值:

类型说明
number响应时长。

15.setSwipeEnabled

public setSwipeEnabled(enabled: boolean): void;

设置手势滑动响应能力(结合长按游标能力使用)。

参数:

参数名类型必填说明
enabledboolean能力标识。

返回值:无

16.getSwipeEnabled

public getSwipeEnabled(): boolean;

获取手势滑动响应能力标识(结合长按游标能力使用)。

参数:无

返回值:

类型说明
boolean手势滑动响应能力标识。

三、ComponentBase

图表部件基础类。

方法名描述
setTextColor设置部件文本渲染颜色。
getTextColor获取部件文本渲染颜色。
setTextSize设置部件文本Size,需要转化为vp单位。
getTextSize获取部件文本Size。
setXOffset设置X轴距离图表内容区域的Offset。
getXOffset获取X轴距离图表内容区域的Offset。
setYOffset设置Y轴距离图表内容区域的Offset。
getYOffset获取Y轴距离图表内容区域的Offset。

1.setTextColor

public setTextColor(color: string | number | CanvasGradient | CanvasPattern): void;

设置部件文本渲染颜色。

参数:

参数名类型必填说明
colorstringnumberCanvasGradient

CanvasPattern | 是 | 设置部件文本渲染颜色。 |

2.getTextColor

public getTextColor(): string | number | CanvasGradient | CanvasPattern;

获取部件文本渲染颜色。

返回值:

类型说明
stringnumber

CanvasGradient |CanvasPattern | 获取部件文本渲染颜色。

3.setTextSize

public setTextSize(size: number): void;

设置部件文本Size,单位是vp。

参数:

参数名类型必填说明
sizenumber设置部件文本Size。

4.getTextSize

public getTextSize(): number;

获取部件文本Size。

返回值:

类型说明
number获取部件文本Size。

5.setXOffset

public setXOffset(xOffset: number): void;

设置X轴距离图表内容区域的Offset。

参数:

参数名类型必填说明
xOffsetnumber设置X轴距离图表内容区域的Offset。

6.getXOffset

public getXOffset(): number;

获取X轴距离图表内容区域的Offset。

返回值:

类型说明
number获取X轴距离图表内容区域的Offset。

7.setYOffset

public setYOffset(yOffset: number): void;

设置Y轴距离图表内容区域的Offset。

参数:

参数名类型必填说明
yOffsetnumber设置Y轴距离图表内容区域的Offset。

8.getYOffset

public getYOffset(): number;

获取Y轴距离图表内容区域的Offset。

返回值:

类型说明
number获取Y轴距离图表内容区域的Offset。

DD一下: 鸿蒙开发各类文档,也可关注公众号<程序猿百晓生>获取。

1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案) 
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
.......

四、AxisBase

坐标轴基类。

方法名描述
addLimitLine为坐标轴添加限制线对象。
calculate计算预期坐标轴的最大最小值,用于自定义坐标轴使用。
setAxisMaximum设置自定义的轴的最大值。
setAxisMinimum设置自定义的轴的最小值。
setDrawAxisLine设置是否绘制轴线。
setDrawGridLines设置是否绘制网格线。
setDrawGridLinesBehindData设置是否在数据后绘制网格线。
setDrawLimitLinesBehindData设置是否在数据后绘制限制线。
setValueFormatter设置数据的格式转换器。

1.addLimitLine

public addLimitLine(limitLine: LimitLine): void;

为坐标轴添加限制线对象。

参数:

参数名类型必填说明
limitLineLimitLine为坐标轴添加限制线对象。

2.calculate

public calculate(dataMin: number, dataMax: number): void;

计算预期坐标轴的最大最小值,用于自定义坐标轴使用。

参数:

参数名类型必填说明
dataMinnumber数据集合中的最小值。
dataMaxnumber数据集合中的最大值。

3.setAxisMaximum

public setAxisMaximum(max: number): void;

设置自定义的轴的最大值。

参数:

参数名类型必填说明
maxnumber自定义的轴最大值。

4.setAxisMinimum

public setAxisMinimum(min: number): void;

设置自定义的轴的最小值。

参数:

参数名类型必填说明
minnumber自定义的轴的最小值。

5.setDrawAxisLine

public setDrawAxisLine(enabled: boolean): void;

设置是否绘制轴线。

参数:

参数名类型必填说明
enabledboolean设置是否绘制轴线。

6.setDrawGridLines

public setDrawGridLines(enabled: boolean): void;

设置是否绘制网格线。

参数:

参数名类型必填说明
enabledboolean设置是否绘制网格线。

7.setDrawGridLinesBehindData

public setDrawGridLinesBehindData(enabled: boolean): void;

设置是否在数据后绘制网格线。

参数:

参数名类型必填说明
enabledboolean设置是否在数据后绘制网格线。

8.setDrawLimitLinesBehindData

public setDrawLimitLinesBehindData(enabled: boolean): void ;

设置是否在数据后绘制限制线。

参数:

参数名类型必填说明
enabledboolean设置是否在数据后绘制限制线。

9.setValueFormatter

public setValueFormatter(formatter: IAxisValueFormatter): void ;

设置数据的格式转换器。

参数:

参数名类型必填说明
formatterIAxisValueFormatter设置数据的格式转换器。

五、XAxis

X轴对象。

方法名描述
setPosition设置X轴显示位置。
getPosition获取X轴显示位置。
setLabelRotationAngle设置X轴标签旋转角度。
getLabelRotationAngle获取X轴标签旋转角度。
setLabelXOffset获取X轴标签偏移量。
getLabelXOffset获取标签在 X 轴上的偏移量。
setXAxisLabelPosition设置X轴标签位置。
getXAxisLabelPosition获取X轴标签位置。
setCustomLabels设置x轴自定义Labels。
getCustomLabels获取自定义Labels。
setDrawCustomLabels设置是否使用自定义Labels。
isDrawCustomLabels检查是否正在使用自定义Labels。

1.setPosition

public setPosition(pos: XAxisPosition): void;

设置X轴显示位置。

参数:

参数名类型必填说明
posXAxisPosition设置X轴显示位置。

2.getPosition

public getPosition(): XAxisPosition;

获取X轴显示位置。

返回值:

类型说明
XAxisPosition获取X轴显示位置。

3.setLabelRotationAngle

public setLabelRotationAngle(angle: number): void;

设置X轴标签旋转角度。

参数:

参数名类型必填说明
anglenumber设置X轴标签旋转角度。

4.getLabelRotationAngle

public getLabelRotationAngle(): number;

获取X轴标签旋转角度。

返回值:

类型说明
number获取X轴标签旋转角度。

5.setLabelXOffset

public setLabelXOffset(xOffset: number): void

获取X轴标签偏移量

返回值:无

参数:

参数名类型必填说明
xOffsetnumber设置X轴标签偏移量。

6.getLabelXOffset

public getLabelXOffset(): number

获取标签在 X 轴上的偏移量

返回值:

类型说明
number获取标签在 X 轴上的偏移量。

参数:无

7.setXAxisLabelPosition

public setXAxisLabelPosition(position: XAxisLabelPosition): void

设置X轴标签位置

返回值:无

参数:

参数名类型必填说明
positionXAxisLabelPosition设置X轴标签位置

8.getXAxisLabelPosition

public getXAxisLabelPosition(): XAxisLabelPosition

获取X轴标签位置

返回值:

类型说明
XAxisLabelPositionX轴标签位置

参数:无

9.setCustomLabels

public setCustomLabels(numbers: number[]): void

设置x轴自定义Labels

返回值:无

参数:

参数名类型必填说明
numbersnumber[]设置x轴自定义Labels

10.getCustomLabels

public getCustomLabels(): number[]

获取自定义Labels

返回值:

类型说明
number[]自定义Labels

参数:无

11.setDrawCustomLabels

public setDrawCustomLabels(flag: boolean): void

设置是否使用自定义Labels

返回值:无

参数:

参数名类型必填说明
flagboolean设置是否使用自定义Labels

12.isDrawCustomLabels

public isDrawCustomLabels(): boolean

检查是否正在使用自定义Labels

返回值:

类型说明
boolean是否正在使用自定义Labels

参数:无

DD一下: 鸿蒙开发各类文档,也可关注公众号<程序猿百晓生>获取。

1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案) 
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
.......

六、YAxis

Y轴对象。

方法名描述
calculate计算轴上的预期的最大最小值。
getAxisDependency获取Y轴位置。
setPosition设置Y轴标签的位置。
getLabelPosition获取Y轴标签的位置。
setLabelXOffset设置Y轴标签的X轴方向上的Offset。
getLabelXOffset获取Y轴标签的X轴方向上的Offset。
setDrawZeroLine设置是否绘制0线。
EventControl事件控制类,EventType 为枚举类型(单击、双击、长按)
setEventEnable启用事件。
setEventDisable禁用事件。
eventIsEnable事件是否启用。
eventIsDisable事件是否被禁用。
setYAxisExtensionLine设置y轴延伸线。
addGridLine添加自定义网格线。
getGridLines获取自定义网格线。
setGridAlpha设置网格线颜色不透明度(不包含addGridLine添加的自定义网格线,自定义网格线可通过color属性传入带透明度的颜色)

1.calculate

public calculate(dataMin: number, dataMax: number): void;

计算轴上的预期的最大最小值。

参数:

参数名类型必填说明
dataMinnumber数据集合中的Y最小值。
dataMaxnumber数据集合中的Y最大值

2.getAxisDependency

public getAxisDependency(): AxisDependency;

获取Y轴位置。

返回值:

类型说明
number获取Y轴位置。

3.setPosition

public setPosition(pos: YAxisLabelPosition): void;

设置Y轴标签的位置。

参数:

参数名类型必填说明
posYAxisLabelPosition设置Y轴标签的位置。

4.getLabelPosition

public getLabelPosition(): YAxisLabelPosition;

获取Y轴标签的位置。

返回值:

类型说明
YAxisLabelPosition获取Y轴标签位置。

5.setLabelXOffset

public setLabelXOffset(xOffset: number): void;

设置Y轴标签的X轴方向上的Offset。

参数:

参数名类型必填说明
xOffsetnumber设置Y轴标签的X轴方向上的Offset。

6.getLabelXOffset

public getLabelXOffset(): number;

获取Y轴标签的X轴方向上的Offset。

返回值:

类型说明
number获取Y轴标签的X轴方向上的Offset。

7.setDrawZeroLine

public setDrawZeroLine(mDrawZeroLine: boolean): void;

设置是否绘制0线。

参数:

参数名类型必填说明
mDrawZeroLineboolean是否绘制0线。

8.EventControl事件控制类

EventType 为枚举类型(单击、双击、长按)

enum EventType { SingleTap, DoubleTap, LongPress }

9.setEventEnable

public setEventEnable(evType: EventType): EventControl

启用事件

参数:

参数名类型必填说明
evTypeEventTypeSingleTap、DoubleTap、LongPress三个选项

10.setEventDisable

public setEventDisable(evType: EventType): EventControl

禁用事件

参数:

参数名类型必填说明
evTypeEventTypeSingleTap、DoubleTap、LongPress三个选项

11.eventIsEnable

public eventIsEnable(evType: EventType): boolean;

事件是否启用。

参数:

参数名类型必填说明
evTypeEventTypeSingleTap、DoubleTap、LongPress三个选项

12.eventIsDisable

public eventIsDisable(evType: EventType): boolean;

事件是否被禁用。

参数:

参数名类型必填说明
evTypeEventTypeSingleTap、DoubleTap、LongPress三个选项

13.setYAxisExtensionLine

public setYAxisExtensionLine(opt: boolean): void

设置y轴延伸线。

参数:

参数名类型必填说明
optboolean是否绘制y轴延伸线。

14.addGridLine

public addGridLine(customLine: GridLineConfig): void

添加自定义网格线。

参数:

参数名类型必填说明
customLineGridLineConfig设置网格线样式。

15.getGridLines

public getGridLines(): JArrayList

获取自定义网格线。

返回值:

类型说明
JArrayList自定义网格线数组

16.setGridAlpha

public setGridAlpha(alpha: number): void

设置网格线颜色不透明度(不包含addGridLine添加的自定义网格线,自定义网格线可通过color属性传入带透明度的颜色)

参数:

参数名类型必填说明
alphanumber设置网格线颜色不透明度,取值0到255之间,0是完全透明,255是完全不透明
// 示例代码参见 CustomGridLineChartPage
export interface GridLineConfig {
   position: number;
   lineWidth?: number;
   lineColor?: number;
   dashPathEffect?: DashPathEffectConfig
}

export interface DashPathEffectConfig {
   lineLength: number;
   spaceLength: number;
   phase: number
}

七、自定义MarkerView传入


@State customUiInfo: CustomUiInfo = new CustomUiInfo(90, 50);

@Builder customUi() {
   // 是否在图表content内
   if (this.customUiInfo.isInbounds && this.customUiInfo.data) {
      Column() {
        Text(`2023-12-15`).fontColor(Color.Gray).fontSize(12).fontWeight(FontWeight.Bold)
        Text(`X: ${this.customUiInfo.data.getX()}`).fontColor(Color.Gray).fontSize(12)
        Text(`Y: ${this.customUiInfo.data.getY()}`).fontColor(Color.Gray).fontSize(12)
      }
   .padding(4)
      .borderRadius(6)
      .border({ width: 1, color: Color.Orange})
      .backgroundColor(0xf0f0f0)
      .width(this.customUiInfo.width)
      .height(this.customUiInfo.height)
      .margin({ left: this.customUiInfo.x, top: this.customUiInfo.y })
      .alignItems(HorizontalAlign.Start)
      .onClick(ev => {
         this.customUiInfo.showUi = false;
      })
   }
}

BarChart({ model: this.model,
   // 自定义 ui: 传入 builder
   customUiBuilder: this.customUi,
   // 通过什么事件触发
   customUiTriggerEvent: EventType.SingleTap,
   // 自定义ui的位置信息
   customUiInfo: this.customUiInfo,
})

DD一下: 鸿蒙开发各类文档,也可关注公众号<程序猿百晓生>获取。

1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案) 
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
.......

八、WaterfallDataSet

瀑布图数据类

方法名描述
setDotsColors瀑布图设置所有高亮点的颜色。
getDotsColors获取瀑布图所有高亮点的颜色。

1.setDotsColors

public setDotsColors(color: number | string): void;

瀑布图设置所有高亮点的颜色。

参数:

参数名类型必填说明
colornumber string要设置的颜色,可以是number或string。

2.getDotsColors

public getDotsColors(): Array<string | number> {

获取瀑布图所有高亮点的颜色。

返回值:

类型说明
Array<string number>返回包含所有高亮点颜色的数组。

九、ChartData

图表数据类

方法名描述
setHighlightByXDistance设置是否仅通过X轴距离来判断是否高亮点。
isHighlightByXDistance检查是否仅通过X轴距离来判断是否高亮点。

1.setHighlightByXDistance

public setHighlightByXDistance(highlightByXDistance: boolean): void;

设置是否仅通过X轴距离来判断是否高亮点。

参数:

参数名类型必填说明
highlightByXDistanceboolean是否仅通过X轴距离来判断是否高亮点

2.isHighlightByXDistance

public isHighlightByXDistance(): boolean

检查是否仅通过X轴距离来判断是否高亮点。

返回值:

类型说明
boolean是否仅通过X轴距离来判断是否高亮点的布尔值

十、BarLineScatterCandleBubbleDataSet

Bar,Line,Scatter,Candle,Bubble五种图表数据的抽象基类

方法名描述
setHighLightColor设置用于绘制高亮指示器的颜色。
getHighLightColor获取用于绘制高亮指示器的颜色。
copyTo复制数据到指定的dataSet。

1.setHighLightColor

public setHighLightColor(color: number): void;

设置用于绘制高亮指示器的颜色。

参数:

参数名类型必填说明
colornumber高亮指示器的颜色

2.getHighLightColor

public getHighLightColor(): number;

获取用于绘制高亮指示器的颜色。

返回值:

类型说明
number高亮指示器的颜色

3.copyTo

protected copyTo(barLineScatterCandleBubbleDataSet: BarLineScatterCandleBubbleDataSet): void

复制数据到指定的dataSet。

参数:

参数名类型必填说明
barLineScatterCandleBubbleDataSetBarLineScatterCandleBubbleDataSet复制数据到指定的dataSet

DD一下: 鸿蒙开发各类文档,也可关注公众号<程序猿百晓生>获取。

1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案) 
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
.......

十一、LineScatterCandleRadarDataSet

方法名描述
setDrawHorizontalHighlightIndicator设置启用/禁用水平突出显示指示器。
setDrawVerticalHighlightIndicator设置启用/禁用垂直突出显示指示器。
setDrawHighlightIndicators设置启用/禁用水平和垂直突出显示指示器。
isVerticalHighlightIndicatorEnabled获取是否启用垂直突出显示指示器。
isHorizontalHighlightIndicatorEnabled获取是否启用水平突出显示指示器。
setHighlightLineWidth设置高亮线的宽度,单位是vp。
getHighlightLineWidth获取高亮线的宽度。
enableDashedHighlightLine允许以虚线模式绘制高亮线,例如“------”。
disableDashedHighlightLine禁用以虚线模式绘制的高亮线。
isDashedHighlightLineEnabled如果高亮线启用了虚线效果,则返回true,否则返回false。
getDashPathEffectHighlight获取虚线效果。
copyTo拷贝数据至指定dataset。

1.setDrawHorizontalHighlightIndicator

public setDrawHorizontalHighlightIndicator(enabled: boolean): void;

设置启用/禁用水平突出显示指示器。

参数:

参数名类型必填说明
enabledboolean启用/禁用水平突出显示指示器。如果禁用,则不绘制指示器。

2.setDrawVerticalHighlightIndicator

public setDrawVerticalHighlightIndicator(enabled: boolean): void;

设置启用/禁用垂直突出显示指示器。

参数:

参数名类型必填说明
enabledboolean启用/禁用垂直突出显示指示器。如果禁用,则不绘制指示器。

3.setDrawHighlightIndicators

public setDrawHighlightIndicators(enabled: boolean): void;

设置启用/禁用水平和垂直突出显示指示器。

参数:

参数名类型必填说明
enabledboolean启用/禁用水平和垂直突出显示指示器。

4.isVerticalHighlightIndicatorEnabled

public isVerticalHighlightIndicatorEnabled(): boolean;

获取是否启用垂直突出显示指示器。

返回值:

类型说明
boolean是否启用垂直突出显示指示器。

5.isHorizontalHighlightIndicatorEnabled

public isVerticalHighlightIndicatorEnabled(): boolean;

获取是否启用水平突出显示指示器。

返回值:

类型说明
boolean是否启用水平突出显示指示器。

6.setHighlightLineWidth

public setHighlightLineWidth(width: number): void;

设置高亮线的宽度,单位是vp。

参数:

参数名类型必填说明
widthnumber设置高亮线的宽度,单位是vp。

7.getHighlightLineWidth

public getHighlightLineWidth(): number;

获取高亮线的宽度。

返回值:

类型说明
number高亮线的宽度。

8.enableDashedHighlightLine

public enableDashedHighlightLine(lineLength: number, spaceLength: number, phase: number): void;

允许以虚线模式绘制高亮线,例如“------”。

参数:

参数名类型必填说明
lineLengthnumber线段的长度。
spaceLengthnumber空隙的长度。
phasenumber相位偏移,单位为度(通常使用0)。

9.disableDashedHighlightLine

public disableDashedHighlightLine(): void;

禁用以虚线模式绘制的高亮线。

无返回值

10.isDashedHighlightLineEnabled

public isDashedHighlightLineEnabled(): boolean;

如果高亮线启用了虚线效果,则返回true,否则返回false。

返回值:

类型说明
boolean高亮线是否启用了虚线效果

11.getDashPathEffectHighlight

public getDashPathEffectHighlight(): DashPathEffect;

获取虚线效果。

返回值:

类型说明
DashPathEffect虚线效果

12.copyTo

protected copyTo(lineScatterCandleRadarDataSet: LineScatterCandleRadarDataSet): void;

拷贝数据至指定dataset。

参数:

参数名类型必填说明
lineScatterCandleRadarDataSetLineScatterCandleRadarDataSetdataset数据