Skip to main content
版本:v3

HISTOGRAM

API_LEVEL 2.0 开始支持,API 兼容性请参考 API_LEVEL

histogram

绘制直方图。

创建 UI 控件

import { createWidget, widget } from '@zos/ui'

const histoGram = createWidget(widget.HISTOGRAM, Param)

类型

Param: object

属性说明是否必须类型
x控件 x 坐标number
y控件 y 坐标number
w控件宽number
h控件高number
item_width柱子宽number
item_space柱子间距number
item_radius柱子圆角number
item_start_y柱子起始 Y 点 相对坐标 不填默认为 0number
item_max_height柱子最大高度 不填默认为控件高number
item_color柱子颜色number
data_min_value柱子最小值 用于计算柱子实际高度number
data_max_value柱子最大值 用于计算柱子实际高度number
data_array柱子数据数组Array<number>
data_count数据长度number
xlinex 轴配置对象XLine
xTextx 轴文字配置对象XText
yliney 轴配置对象YLine
yTexty 轴文字配置对象YText

XLine: object

属性说明是否必须类型
pading分割线基于 x 轴的边距number
space分割线间隔number
start分割线开始的 y 轴坐标number
end分割线结束的 y 轴坐标 end-start 为分割线宽度number
width分割线高度number
count分割线数量number
color分割线颜色number

YLine: object

属性说明是否必须类型
pading分割线基于 y 轴的边距number
space分割线间隔number
start分割线开始的 x 轴坐标number
end分割线结束的 x 轴坐标 end-start 为分割线宽度number
width分割线高度number
count分割线数量number
color分割线颜色number

XText: object

属性说明是否必须类型
x文字初始的 x 坐标number
y文字初始的 y 坐标number
w文字宽度number
h文字高度number
space文字间隔 第 n 个文字的 x 坐标 = x +(w + space)* (n - 1)number
color文字颜色number
data_array文字数组Array<string>
count数组长度number

yText: object

属性说明是否必须类型
x文字初始的 x 坐标number
y文字初始的 y 坐标number
w文字宽度number
h文字高度number
space文字间隔 第 n 个文字的 x 坐标 = y +(h + space)* (n - 1)number
color文字颜色number
data_array文字数组Array<string>
count数组长度number

更新 item 数据

const view = ......;
view.setProperty(prop.UPDATE_DATA, {
data_array: [100, 100, 0, 0, 0, 100],
data_count: 6
})

代码示例

import { createWidget, widget, align } from '@zos/ui'

Page({
build() {
const fillRect = createWidget(widget.FILL_RECT, {
x: 100,
y: 120,
w: 300,
h: 300,
color: 0xffffff
})

const view = createWidget(widget.HISTOGRAM, {
x: 100,
y: 120,
h: 300,
w: 300,
item_width: 20,
item_space: 10,
item_radius: 10,
item_start_y: 50,
item_max_height: 230,
item_color: 0x304ffe,
data_array: [20, 30, 40, 50, 60, 100, 80, 90, 20, 30],
data_count: 10,
data_min_value: 10,
data_max_value: 100,
xline: {
pading: 20,
space: 20,
start: 0,
end: 300,
color: 0x00c853,
width: 1,
count: 15
},
yline: {
pading: 10,
space: 10,
start: 0,
end: 300,
color: 0xff6d00,
width: 1,
count: 30
},
xText: {
x: 12,
y: 270,
w: 20,
h: 50,
space: 10,
align: align.LEFT,
color: 0x000000,
count: 10,
data_array: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
},
yText: {
x: 0,
y: 20,
w: 50,
h: 50,
space: 10,
align: align.LEFT,
color: 0x000000,
count: 6,
data_array: ['a', 'b', 'c', 'd', 'e', 'f']
}
})
}
})