【OpenHarmony】 鸿蒙 UI开发之MpChart(二)
返回 LineChart,ScatterChart,CandleStickChart等图表触摸屏幕时的Highlight 对象(包含 x-index 和 DataSet 索引)。计算图表到边框的偏移量,具体取决于图例的位置,x轴y轴的长度,及其的标签位置。返回当前高亮显示值的数组。返回图表(整个视图)的中心点的可回收的MPPointF实例。返回图表的图形绘制的中心区域的可回收的MPPointF实例
往期推文全新看点(文中附带全新鸿蒙5.0全栈学习笔录)
✏️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
✏️ 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
✏️ 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
✏️ 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
✏️ 记录一场鸿蒙开发岗位面试经历~
✏️ 持续更新中……
接口说明
一、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轴动画。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| durationMillis | number | 是 | 动画播放的时长,单位毫秒。 |
public animateX(durationMillis: number, easing: string): void;
展示图表时带有X轴动画。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| durationMillis | number | 是 | 动画播放的时长,单位毫秒。 |
| easing | string | 是 | 动画插值曲线。 |
2.animateXY
public animateXY(durationMillisX: number, durationMillisY: number): void;
展示图表时同时带有X轴,Y轴动画。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| durationMillisX | number | 是 | X轴条目动画播放的时长,单位毫秒。 |
| durationMillisY | number | 是 | Y轴条目动画播放的时长,单位毫秒。 |
public animateXY(durationMillisX: number, durationMillisY: number, easingX: string): void;
展示图表时同时带有X轴,Y轴动画。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| durationMillisX | number | 是 | X轴条目动画播放的时长,单位毫秒。 |
| durationMillisY | number | 是 | Y轴条目动画播放的时长,单位毫秒。 |
| easingX | string | 是 | X轴动画插值曲线。 |
public animateXY(durationMillisX: number, durationMillisY: number, easingX: string, easingY: string): void;
展示图表时同时带有X轴,Y轴动画。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| durationMillisX | number | 是 | X轴条目动画播放的时长,单位毫秒。 |
| durationMillisY | number | 是 | Y轴条目动画播放的时长,单位毫秒。 |
| easingX | string | 是 | X轴动画插值曲线 。 |
| easingY | string | 是 | Y轴动画插值曲线。 |
3.animateY
展示图表时带有Y轴动画。
public animateY(durationMillis: number): void;
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| durationMillis | number | 是 | 动画播放的时长,单位毫秒。 |
public animateY(durationMillis: number, easing: string): void;
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| durationMillis | number | 是 | 动画播放的时长,单位毫秒。 |
| easing | string | 是 | 动画插值曲线。 |
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 对象。
返回值:
| 类型 | 说明 |
|---|---|
| T null | 数据对象。 |
14.getDefaultValueFormatter
public getDefaultValueFormatter(): IValueFormatter;
返回默认的数据格式化接口实现类。
返回值:
| 类型 | 说明 |
|---|---|
| IValueFormatter | 数据格式化接口实现类。 |
15.getHighlightByTouchPoint
public getHighlightByTouchPoint(x: number, y: number): Highlight | null;
返回 LineChart,ScatterChart,CandleStickChart等图表触摸屏幕时的Highlight 对象(包含 x-index 和 DataSet 索引)。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| x | number | 是 | 屏幕触摸点的x轴坐标。 |
| y | number | 是 | 屏幕触摸点的y轴坐标。 |
返回值:
| 类型 | 说明 |
|---|---|
| Highlight | null |
触摸点的高亮对象。
16.getHighlighted
public getHighlighted(): Highlight[] | null;
返回当前高亮显示值的数组。这可能是空值,如果没有突出显示,则为空数组。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| x | number | 是 | 屏幕触摸点的x轴坐标。 |
| y | number | 是 | 屏幕触摸点的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。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| newWidth | number | 是 | 图表当前显示的宽。 |
| newHeight | number | 是 | 图表当前显示的高。 |
| oldWidth | number | 是 | 图表改变Size前显示的宽。 |
| oldHeight | number | 是 | 图表改变Size前显示的高。 |
25.onDraw
protected onDraw(c: CanvasRenderingContext2D): void ;
图表绘制方法。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| c | CanvasRenderingContext2D | 是 | 图表绘制的画布。 |
26.setContext2D
public abstract setContext2D(context2d: CanvasRenderingContext2D);
设置图表绘制的画布。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| c | CanvasRenderingContext2D | 是 | 图表绘制的画布。 |
27.setData
public setData(data: T) : void;
设置图表数据。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data | T | 是 | 图表数据,T继承自ChartData。 |
28.setDragDecelerationEnabled
public setDragDecelerationEnabled(enabled: boolean);
设置是否开启惯性滑动
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 能力标识。 |
29.setHitTestMode
public setHitTestMode(hitTestMode: HitTestMode)
设置触摸测试类型
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| hitTestMode | HitTestMode | 是 | 触摸测试类型 |
30.getHitTestMode
public getHitTestMode(): HitTestMode
获取触摸测试类型。
返回值:
| 类型 | 说明 |
|---|---|
| HitTestMode | 触摸测试类型 |
二、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;
绘制图表背景。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| c | CanvasRenderingContext2D | 是 | 图表绘制的上下文。 |
4.getAxis
public getAxis(axis: AxisDependency): YAxis | null;
根据Y轴位置获取Y轴对象。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| axis | AxisDependency | 是 |
Y轴位置。
返回值:
| 类型 | 说明 |
|---|---|
| YAxis | null |
5.getAxisLeft
public getAxisLeft(): YAxis | null;
获取左Y轴对象。
返回值:
| 类型 | 说明 |
|---|---|
| YAxis | null |
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 |
10.getRendererXAxis
public getRendererXAxis(): XAxisRenderer | null;
获取X轴渲染器。
返回值:
| 类型 | 说明 |
|---|---|
| XAxisRenderer | null |
11.setLongPressCursorEnabled
public setLongPressCursorEnabled(enabled: boolean): void;
设置长按游标能力标识。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 能力标识。 |
返回值:无
12.getLongPressCursorEnabled
public getLongPressCursorEnabled(): boolean;
获取长按游标能力标识。
参数:无
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 长按游标能力标识。 |
13.setLongPressDuration
public setLongPressDuration(duration: number): void;
设置长按响应时长。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| duration | number | 是 | 时长。 |
返回值:无
14.getLongPressDuration
public getLongPressDuration(): number;
获取长按响应时长。
参数:无
返回值:
| 类型 | 说明 |
|---|---|
| number | 响应时长。 |
15.setSwipeEnabled
public setSwipeEnabled(enabled: boolean): void;
设置手势滑动响应能力(结合长按游标能力使用)。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 能力标识。 |
返回值:无
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;
设置部件文本渲染颜色。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| color | string | number | CanvasGradient |
CanvasPattern | 是 | 设置部件文本渲染颜色。 |
2.getTextColor
public getTextColor(): string | number | CanvasGradient | CanvasPattern;
获取部件文本渲染颜色。
返回值:
| 类型 | 说明 |
|---|---|
| string | number |
CanvasGradient |CanvasPattern | 获取部件文本渲染颜色。
3.setTextSize
public setTextSize(size: number): void;
设置部件文本Size,单位是vp。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| size | number | 是 | 设置部件文本Size。 |
4.getTextSize
public getTextSize(): number;
获取部件文本Size。
返回值:
| 类型 | 说明 |
|---|---|
| number | 获取部件文本Size。 |
5.setXOffset
public setXOffset(xOffset: number): void;
设置X轴距离图表内容区域的Offset。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| xOffset | number | 是 | 设置X轴距离图表内容区域的Offset。 |
6.getXOffset
public getXOffset(): number;
获取X轴距离图表内容区域的Offset。
返回值:
| 类型 | 说明 |
|---|---|
| number | 获取X轴距离图表内容区域的Offset。 |
7.setYOffset
public setYOffset(yOffset: number): void;
设置Y轴距离图表内容区域的Offset。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| yOffset | number | 是 | 设置Y轴距离图表内容区域的Offset。 |
8.getYOffset
public getYOffset(): number;
获取Y轴距离图表内容区域的Offset。
返回值:
| 类型 | 说明 |
|---|---|
| number | 获取Y轴距离图表内容区域的Offset。 |
四、AxisBase
坐标轴基类。
| 方法名 | 描述 |
|---|---|
| addLimitLine | 为坐标轴添加限制线对象。 |
| calculate | 计算预期坐标轴的最大最小值,用于自定义坐标轴使用。 |
| setAxisMaximum | 设置自定义的轴的最大值。 |
| setAxisMinimum | 设置自定义的轴的最小值。 |
| setDrawAxisLine | 设置是否绘制轴线。 |
| setDrawGridLines | 设置是否绘制网格线。 |
| setDrawGridLinesBehindData | 设置是否在数据后绘制网格线。 |
| setDrawLimitLinesBehindData | 设置是否在数据后绘制限制线。 |
| setValueFormatter | 设置数据的格式转换器。 |
1.addLimitLine
public addLimitLine(limitLine: LimitLine): void;
为坐标轴添加限制线对象。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limitLine | LimitLine | 是 | 为坐标轴添加限制线对象。 |
2.calculate
public calculate(dataMin: number, dataMax: number): void;
计算预期坐标轴的最大最小值,用于自定义坐标轴使用。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| dataMin | number | 是 | 数据集合中的最小值。 |
| dataMax | number | 是 | 数据集合中的最大值。 |
3.setAxisMaximum
public setAxisMaximum(max: number): void;
设置自定义的轴的最大值。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| max | number | 是 | 自定义的轴最大值。 |
4.setAxisMinimum
public setAxisMinimum(min: number): void;
设置自定义的轴的最小值。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| min | number | 是 | 自定义的轴的最小值。 |
5.setDrawAxisLine
public setDrawAxisLine(enabled: boolean): void;
设置是否绘制轴线。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 设置是否绘制轴线。 |
6.setDrawGridLines
public setDrawGridLines(enabled: boolean): void;
设置是否绘制网格线。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 设置是否绘制网格线。 |
7.setDrawGridLinesBehindData
public setDrawGridLinesBehindData(enabled: boolean): void;
设置是否在数据后绘制网格线。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 设置是否在数据后绘制网格线。 |
8.setDrawLimitLinesBehindData
public setDrawLimitLinesBehindData(enabled: boolean): void ;
设置是否在数据后绘制限制线。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 设置是否在数据后绘制限制线。 |
9.setValueFormatter
public setValueFormatter(formatter: IAxisValueFormatter): void ;
设置数据的格式转换器。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| formatter | IAxisValueFormatter | 是 | 设置数据的格式转换器。 |
五、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轴显示位置。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pos | XAxisPosition | 是 | 设置X轴显示位置。 |
2.getPosition
public getPosition(): XAxisPosition;
获取X轴显示位置。
返回值:
| 类型 | 说明 |
|---|---|
| XAxisPosition | 获取X轴显示位置。 |
3.setLabelRotationAngle
public setLabelRotationAngle(angle: number): void;
设置X轴标签旋转角度。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| angle | number | 是 | 设置X轴标签旋转角度。 |
4.getLabelRotationAngle
public getLabelRotationAngle(): number;
获取X轴标签旋转角度。
返回值:
| 类型 | 说明 |
|---|---|
| number | 获取X轴标签旋转角度。 |
5.setLabelXOffset
public setLabelXOffset(xOffset: number): void
获取X轴标签偏移量
返回值:无
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| xOffset | number | 是 | 设置X轴标签偏移量。 |
6.getLabelXOffset
public getLabelXOffset(): number
获取标签在 X 轴上的偏移量
返回值:
| 类型 | 说明 |
|---|---|
| number | 获取标签在 X 轴上的偏移量。 |
参数:无
7.setXAxisLabelPosition
public setXAxisLabelPosition(position: XAxisLabelPosition): void
设置X轴标签位置
返回值:无
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| position | XAxisLabelPosition | 是 | 设置X轴标签位置 |
8.getXAxisLabelPosition
public getXAxisLabelPosition(): XAxisLabelPosition
获取X轴标签位置
返回值:
| 类型 | 说明 |
|---|---|
| XAxisLabelPosition | X轴标签位置 |
参数:无
9.setCustomLabels
public setCustomLabels(numbers: number[]): void
设置x轴自定义Labels
返回值:无
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| numbers | number[] | 是 | 设置x轴自定义Labels |
10.getCustomLabels
public getCustomLabels(): number[]
获取自定义Labels
返回值:
| 类型 | 说明 |
|---|---|
| number[] | 自定义Labels |
参数:无
11.setDrawCustomLabels
public setDrawCustomLabels(flag: boolean): void
设置是否使用自定义Labels
返回值:无
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| flag | boolean | 是 | 设置是否使用自定义Labels |
12.isDrawCustomLabels
public isDrawCustomLabels(): boolean
检查是否正在使用自定义Labels
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 是否正在使用自定义Labels |
参数:无
六、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;
计算轴上的预期的最大最小值。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| dataMin | number | 是 | 数据集合中的Y最小值。 |
| dataMax | number | 是 | 数据集合中的Y最大值 |
2.getAxisDependency
public getAxisDependency(): AxisDependency;
获取Y轴位置。
返回值:
| 类型 | 说明 |
|---|---|
| number | 获取Y轴位置。 |
3.setPosition
public setPosition(pos: YAxisLabelPosition): void;
设置Y轴标签的位置。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pos | YAxisLabelPosition | 是 | 设置Y轴标签的位置。 |
4.getLabelPosition
public getLabelPosition(): YAxisLabelPosition;
获取Y轴标签的位置。
返回值:
| 类型 | 说明 |
|---|---|
| YAxisLabelPosition | 获取Y轴标签位置。 |
5.setLabelXOffset
public setLabelXOffset(xOffset: number): void;
设置Y轴标签的X轴方向上的Offset。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| xOffset | number | 是 | 设置Y轴标签的X轴方向上的Offset。 |
6.getLabelXOffset
public getLabelXOffset(): number;
获取Y轴标签的X轴方向上的Offset。
返回值:
| 类型 | 说明 |
|---|---|
| number | 获取Y轴标签的X轴方向上的Offset。 |
7.setDrawZeroLine
public setDrawZeroLine(mDrawZeroLine: boolean): void;
设置是否绘制0线。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mDrawZeroLine | boolean | 是 | 是否绘制0线。 |
8.EventControl事件控制类
EventType 为枚举类型(单击、双击、长按)
enum EventType { SingleTap, DoubleTap, LongPress }
9.setEventEnable
public setEventEnable(evType: EventType): EventControl
启用事件
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| evType | EventType | 是 | SingleTap、DoubleTap、LongPress三个选项 |
10.setEventDisable
public setEventDisable(evType: EventType): EventControl
禁用事件
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| evType | EventType | 是 | SingleTap、DoubleTap、LongPress三个选项 |
11.eventIsEnable
public eventIsEnable(evType: EventType): boolean;
事件是否启用。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| evType | EventType | 是 | SingleTap、DoubleTap、LongPress三个选项 |
12.eventIsDisable
public eventIsDisable(evType: EventType): boolean;
事件是否被禁用。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| evType | EventType | 是 | SingleTap、DoubleTap、LongPress三个选项 |
13.setYAxisExtensionLine
public setYAxisExtensionLine(opt: boolean): void
设置y轴延伸线。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| opt | boolean | 是 | 是否绘制y轴延伸线。 |
14.addGridLine
public addGridLine(customLine: GridLineConfig): void
添加自定义网格线。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| customLine | GridLineConfig | 是 | 设置网格线样式。 |
15.getGridLines
public getGridLines(): JArrayList
获取自定义网格线。
返回值:
| 类型 | 说明 |
|---|---|
| JArrayList | 自定义网格线数组 |
16.setGridAlpha
public setGridAlpha(alpha: number): void
设置网格线颜色不透明度(不包含addGridLine添加的自定义网格线,自定义网格线可通过color属性传入带透明度的颜色)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| alpha | number | 是 | 设置网格线颜色不透明度,取值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,
})
八、WaterfallDataSet
瀑布图数据类
| 方法名 | 描述 |
|---|---|
| setDotsColors | 瀑布图设置所有高亮点的颜色。 |
| getDotsColors | 获取瀑布图所有高亮点的颜色。 |
1.setDotsColors
public setDotsColors(color: number | string): void;
瀑布图设置所有高亮点的颜色。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| color number | 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轴距离来判断是否高亮点。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| highlightByXDistance | boolean | 是 | 是否仅通过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;
设置用于绘制高亮指示器的颜色。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| color | number | 是 | 高亮指示器的颜色 |
2.getHighLightColor
public getHighLightColor(): number;
获取用于绘制高亮指示器的颜色。
返回值:
| 类型 | 说明 |
|---|---|
| number | 高亮指示器的颜色 |
3.copyTo
protected copyTo(barLineScatterCandleBubbleDataSet: BarLineScatterCandleBubbleDataSet): void
复制数据到指定的dataSet。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| barLineScatterCandleBubbleDataSet | BarLineScatterCandleBubbleDataSet | 是 | 复制数据到指定的dataSet |
十一、LineScatterCandleRadarDataSet
| 方法名 | 描述 |
|---|---|
| setDrawHorizontalHighlightIndicator | 设置启用/禁用水平突出显示指示器。 |
| setDrawVerticalHighlightIndicator | 设置启用/禁用垂直突出显示指示器。 |
| setDrawHighlightIndicators | 设置启用/禁用水平和垂直突出显示指示器。 |
| isVerticalHighlightIndicatorEnabled | 获取是否启用垂直突出显示指示器。 |
| isHorizontalHighlightIndicatorEnabled | 获取是否启用水平突出显示指示器。 |
| setHighlightLineWidth | 设置高亮线的宽度,单位是vp。 |
| getHighlightLineWidth | 获取高亮线的宽度。 |
| enableDashedHighlightLine | 允许以虚线模式绘制高亮线,例如“------”。 |
| disableDashedHighlightLine | 禁用以虚线模式绘制的高亮线。 |
| isDashedHighlightLineEnabled | 如果高亮线启用了虚线效果,则返回true,否则返回false。 |
| getDashPathEffectHighlight | 获取虚线效果。 |
| copyTo | 拷贝数据至指定dataset。 |
1.setDrawHorizontalHighlightIndicator
public setDrawHorizontalHighlightIndicator(enabled: boolean): void;
设置启用/禁用水平突出显示指示器。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 启用/禁用水平突出显示指示器。如果禁用,则不绘制指示器。 |
2.setDrawVerticalHighlightIndicator
public setDrawVerticalHighlightIndicator(enabled: boolean): void;
设置启用/禁用垂直突出显示指示器。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 启用/禁用垂直突出显示指示器。如果禁用,则不绘制指示器。 |
3.setDrawHighlightIndicators
public setDrawHighlightIndicators(enabled: boolean): void;
设置启用/禁用水平和垂直突出显示指示器。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| enabled | boolean | 是 | 启用/禁用水平和垂直突出显示指示器。 |
4.isVerticalHighlightIndicatorEnabled
public isVerticalHighlightIndicatorEnabled(): boolean;
获取是否启用垂直突出显示指示器。
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 是否启用垂直突出显示指示器。 |
5.isHorizontalHighlightIndicatorEnabled
public isVerticalHighlightIndicatorEnabled(): boolean;
获取是否启用水平突出显示指示器。
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 是否启用水平突出显示指示器。 |
6.setHighlightLineWidth
public setHighlightLineWidth(width: number): void;
设置高亮线的宽度,单位是vp。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| width | number | 是 | 设置高亮线的宽度,单位是vp。 |
7.getHighlightLineWidth
public getHighlightLineWidth(): number;
获取高亮线的宽度。
返回值:
| 类型 | 说明 |
|---|---|
| number | 高亮线的宽度。 |
8.enableDashedHighlightLine
public enableDashedHighlightLine(lineLength: number, spaceLength: number, phase: number): void;
允许以虚线模式绘制高亮线,例如“------”。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| lineLength | number | 是 | 线段的长度。 |
| spaceLength | number | 是 | 空隙的长度。 |
| phase | number | 是 | 相位偏移,单位为度(通常使用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。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| lineScatterCandleRadarDataSet | LineScatterCandleRadarDataSet | 是 | dataset数据 |
更多推荐
所有评论(0)