图表组件
目录:
图表
图表组件用于绘制其附加数据(如二维图表数据
组件)的组件。有五种不同的图表类型,包括折线图、面积图、散点图、条形图和饼图,可通过类型
属性修改。
图表的入门教程请查看《【App Inventor 2 数据可视化】使用柱状图和饼图收集数据》。
属性
- 背景颜色
- 设置
图表
的背景颜色,使用RGBA数值表示。 - 描述
- 指定图表内描述标签显示的文本。指定空字符串 (“”) 将不会显示标签。
- 启用网格
- 更改图表网格的可见性,如果图表类型设置为带轴的图表(适用于面积图、条形图、折线图、散点图类型,饼图不适用)。
- 高度
- 设置
图表
的垂直高度,以像素px为单位。 - 高度百分比
- 设置
图表
的垂直高度相对于整个屏幕高度
的百分比。 - 标签列表
- 将图表的 x 轴标签更改为指定的列表,如果图表类型设置为带轴图表。
列表的第一个条目对应于数据的最小 x 值,第二个为最小 x 值 + 1,依此类推。
如果没有为 x 值指定标签,则使用默认值使用(该位置的轴刻度的 x 值)。
- CSV字符串标签
- 指定要设置到图表 x 轴的标签,如果当前是一个带有 x 轴的图表。
标签被指定为逗号分隔(CSV格式)的值字符串,类似的用法参考
标签列表
。 - 启用图例
- 更改图表图例的可见性。
- 饼图半径
- 设置图表的饼图半径,如果当前类型是不是饼图,该值则没有效果。
- 类型
- 指定图表的类型,它决定如何可视化数据。
- 可见性
- 设置
图表
是否显示在屏幕上,值是真
则图表
显示,假
则隐藏。 - 宽度
- 设置
图表
的水平宽度,以像素px为单位。 - 宽度百分比
- 设置
图表
的水平宽度相对于屏幕宽度
的百分比。
事件
- 数据点被点击时(数据序列,x坐标,y坐标)
- 指示用户单击
图表
中的数据点,返回指定点的 x轴 和 y轴值。
方法
无
二维图表数据
二维图表数据组件表示图表组件中的单个二维数据序列。例如:如果是折线图,则为一条线;如果是条形图,则为一条条形图图表。
数据组件负责处理图表的数据,数据组件的点对应 x 和 y 值。可以将该组件拖到图表上,也就是将其直接附加到图表组件上。
属性
- 颜色
- 指定数据序列的颜色,使用RGBA数值表示。
- 颜色列表
- 指定数据序列的RGBA颜色数值列表。
如果数据多于颜色,颜色将交替显示。例如,如果有红色和蓝色两种颜色,则颜色顺序为:红、蓝、红、蓝…
- 数据文件x列
- 从
数据文件
组件导入数据时,数据源
使用的值。这个值表示数据文件中用于 x 条目的列数据序列。例如,如果列的第一个值是“时间”,并且指定了“时间”列值,将使用该列用于 x 值。
如果未指定值,则使用默认值生成 x 值。
- 数据文件y列
- 从
数据文件
组件导入数据时,数据源
使用的值。这个值表示数据文件中用于 y 条目的列数据序列。例如,如果列的第一个值为“温度”,并且指定了“温度”列值,将使用该列 y 值。
如果未指定值,则使用默认值生成 y 值。
- 数据源键标识符
- 为附加数据源导入的值设置键标识符。类似
微数据库
组件的标签,使用它标识具体的值。该属性是“界面设计”视图专用的属性,应在设置图表数据组件的数据源后修改成相应的标识值。
每种兼容数据源的适用值的完整列表如下:
- 元素来自键值对
- 用于数据序列的逗号分隔(CSV)元素列表。值格式化如下:x1,y1,x2,y2,x3,y3。值成对获取, x 和 y 值形成一个条目。
- 标签
- 指定数据序列标签的文本。
- 线型
- 更改数据序列的线的类型,前提是数据组件附加到基于折线的图表(适用于
面积图
和折线图
)。有效类型包括
折线
、曲线
、阶梯
。 - 点型
- 更改数据序列的点的形状,前提是数据组件附加到
散点图
的图表。有效类型包括
圆形
、方形
、三角
、十字
、叉号
。 - 数据源
- 设置数据组件的数据源。有效的选择包括:
加速度传感器
、蓝牙客户端
、云数据库
、数据文件
、陀螺仪传感器
、位置传感器
、方向传感器
、计步器
、距离传感器
、微数据库
和Web客户端
。数据源
值还需要有效的 DataSourceValue、WebColumn 或 DataFileColumn 属性,取决于附加的数据源的类型(更改数据源后,所需的属性会显示在“属性”菜单中)。如果
数据源键标识符
标识的数据在附加的数据源组件中更新,然后数据也会在图表数据组件中更新。 - 使用电子表格头
- 如果选中,电子表格的第一行将用于解释 x 和 y 列值。 否则,x 和 y 列应该是列引用,例如 A 或 B。
- 电子表格X列
- 设置要从附加的电子表格组件中解析 x 列的值。如果未指定列,则会生成 x 列值的默认值。
- 电子表格Y列
- 设置要从附加的电子表格组件中解析 y 列的值。如果未指定列,则会生成 y 列值的默认值。
- Web客户端X列
- 从 Web客户端 组件源导入数据时使用的值。该值表示来自 Web客户端 的用于数据系列 x 条目的列。例如,如果以 JSON 格式检索 Web客户端 内容,并且存在带有“Time”标签的数组,则可以指定“Time”列值以使用该数组。
- Web客户端Y列
- 从 Web客户端 组件源导入数据时使用的值。该值表示来自 Web客户端 的用于数据系列 y 条目的列。 例如,如果以 JSON 格式检索 Web客户端 内容,并且存在带有“Temperature”标签的数组,则可以指定“Temperature”列值以使用该数组。
事件
- 数据点被点击时(x坐标,y坐标)
- 指示用户单击
图表
中的数据点,返回指定点的 x轴 和 y轴值。
方法
- 添加数据点(x,y)
- 添加具有指定 x 和 y 值的条目。 值可以指定为文本或数字。 对于折线图、散点图、面积图和条形图,两个值都应代表数字。
对于条形图,x 值四舍五入到最接近的整数。
对于饼图,x 值是文本值。
- 删除数据点(x,y)
- 删除具有指定 x 和 y 值的条目(前提是该条目存在)。
有关有效条目值的说明,请参阅
添加数据点
。 - 改变数据源(source,keyValue)
- 将组件的数据源更改为具有指定键值的指定组件源。
请参阅
数据源
属性了解适用的组件。请参阅
数据源键标识符
属性了解 keyValue 的解释。对于 数据文件 和 Web客户端 组件,keyValue 应为 CSV 格式的字符串,其中第一个值对应于 x 列,第二个值对应于 y 值。
- 清除数据序列()
- 从数据系列中删除所有条目。
- 数据点是否存在(x,y)
- 返回一个布尔值,指定是否存在具有指定 x 和 y 值的条目。 如果该值存在,则返回布尔值
真
,否则返回假
。有关有效条目值的说明,请参阅
添加数据点
。 - 获取所有数据点()
- 返回数据系列的所有条目。
返回的值是一个列表,其中列表的每个元素都是按顺序包含条目值的列表。
- 获取X值数据点(x)
- 返回与指定 x 值匹配的数据系列的所有条目。
有关返回列表格式的说明,请参阅
获取所有数据点
- 获取Y值数据点(y)
- 返回与指定 y 值匹配的数据系列的所有条目。
有关返回列表格式的说明,请参阅
获取所有数据点
- 从云数据库导入(云数据库,标签)
- 通过获取指定标签值标识的值,从指定的 云数据库 组件导入数据。
预期的 云数据库 值是一个列表,其格式与
从列表导入
中描述的相同。不覆盖任何数据。
- 从数据文件导入(数据文件,x值列,y值列)
- 通过采用指定的 x 列作为 x 值以及指定的 y 列作为 y 值,从指定的 数据文件 组件导入数据。 数据文件 的源文件应为 CSV 或 JSON 文件。
对任何列参数传递空测试将导致使用默认值,即条目的索引。对于第一个条目,默认值为 1,对于第二个条目,默认值为 2,依此类推。
- 从列表导入(list)
- 将指定列表参数中的数据导入到数据序列中。
该列表预计包含也是列表的元素。 每个列表元素预计有 2 个值,第一个是 x 值,第二个是 y 值。
无效的列表条目将被简单地跳过。
现有数据不会被清除。
- 从电子表格导入(sheet,xColumn,yColumn,useHeaders)
- 通过将指定的 x 列作为 x 值,将指定的 y 列作为 y 值,从指定的电子表格组件导入数据。
在调用此函数之前,必须调用电子表格组件的 ReadSheet 方法来加载数据。 不需要在电子表格组件中使用 GotSheet 事件。
空列填充默认值(1、2、3、… 对于条目 1、2、3、…)。
- 从微数据库导入(tinyDB,tag)
- 通过获取指定标签值标识的值,从指定的 微数据库 组件导入数据。
预期的 微数据库 值是一个列表,其格式与
从列表导入
中描述的相同。不覆盖任何数据。
- 从Web客户端导入(web,xValueColumn,yValueColumn)
- 通过将指定的 x 列作为 x 值,将指定的 y 列作为 y 值,从指定的 Web客户端 组件导入数据。 在调用此函数之前,必须调用 Web客户端 组件的 Get 方法来加载数据。 无需在 Web 组件中使用 gotValue 事件。
Web客户端 组件的预期响应是 JSON 或 CSV 格式的文件,以便此函数正常工作。
空列填充默认值(1、2、3、… 对于条目 1、2、3、…)。
- 删除数据源()
- 从图表数据组件中删除当前附加的数据源。
这样做将导致不再发送来自数据源的更新,但是,当前数据不会被删除。
趋势线
趋势线
组件可用于可视化由 二维图表数据
组件表示的数据系列的趋势。必须将其添加到 图表
组件。要关联 二维图表数据
实例,请在应用程序的设计视图中设置 图表数据
属性,或使用设置代码块。如果关联的 二维图表数据
发生变化,趋势线
将自动更新。
趋势线
有四种模型:线性、二次、对数和指数。根据您使用的模型,趋势线
组件的某些属性将提供相关值。
- 线性:y = m*x + b,其中 m 为线性系数,b 为 Y 截距
- 二次:y = a*x2 + b*x + c,其中 a 为二次系数,b 为线性系数,c 为 Y 截距
- 对数:y = a + b*ln(x),其中 a 为对数常数,b 为对数系数
- 指数:y = a*bx,其中 a 为指数系数,b 为指数基数
对于所有模型,r2 相关性将通过 拟合系数
属性块报告。
注:此组件对AI伴侣要求最低版本为v2.70 (旧版本请扫码升级:帮助 -> AI伴侣信息),编译为apk则不受限制安装后可正常运行。
属性
- 图表数据
- 要计算最佳拟合线的数据系列。
- 颜色
- 最佳拟合线的颜色。
- 相关系数
- 趋势线与数据的相关系数。
- 指数项底数
- 方程 y = a*b^x 中指数项的底数。
- 指数项系数
- 方程 y = a*b^x 中指数项的系数。
- 拓展
- 是否将最佳拟合线延伸至数据之外。
- 线性系数
- 趋势线中线性项的系数。
- 对数系数
- 方程 y = a + b*ln(x) 中对数项的系数。
- 对数常数
- 对数方程 y = a + b*ln(x) 中的常数项。
- 模型
- 用于最佳拟合线的模型。
- 预测
- 对趋势线的预测。
- 二次系数
- 趋势线中二次项的系数(如果有)。
- 拟合系数
- 趋势线的拟合系数R平方。
- 结果
- 获取最佳拟合线计算的最新值的副本。
- 线条样式
- 最佳拟合线的线的样式。
- 线条宽度
- 最佳拟合线的线的宽度。
- 可见性
- 最佳拟合线是否可见。
- X轴交点
- 趋势线与X轴的交点(若有)。可能的值有NaN(不相交时),单个数值(只有一个交点)或者多个值的列表。
- Y轴交点
- 趋势线的Y轴交点(常数项)。
事件
- 已更新(结果)
- 表示最佳拟合线已更新的事件。
方法
- 断开数据集()
- 断开与趋势线关联的数据集。
- 获取结果值(值)
- 获取最佳拟合线的计算值,该值根据使用的模型不同而变化。例如,线型模型会有斜率和Y交点,而平方模型有x^2,斜率和交点。