清泛IT社区App Inventor 2 中文社区

搜索

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.76

Aia StoreApp上架指南 .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

AppInventor2离线版中文教育版接入DeepSeek VIP会员 享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档AI2拓展IoT专题

查看: 8|回复: 0
打印 上一主题 下一主题

[经验分享] App Inventor 2 图表组件实战:5种图表类型+动态数据绑定,手把手做出专业级数据看板 ...

  • TA的每日心情
    开心
    昨天 09:50
  • 签到天数: 871 天

    [LV.10]以坛为家III

    1229

    主题

    2045

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    58307

    AI2中文网VIP弹球达人接水果达人撸猫达人

    跳转到指定楼层
    楼主
    发表于 昨天 16:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    App Inventor 2 图表组件实战:5种图表类型+动态数据绑定,手把手做出专业级数据看板

    上周有个社群用户问我:"做了一堆数据采集,结果界面上全是一行行文字,有没有办法画成图表?"当然有——Chart组件就是答案。但很多人把它拖到界面上之后就懵了:属性一堆,数据怎么塞进去?折线图和面积图有什么区别?趋势线又是什么?这篇教程从零开始,带你做出一个真正能用的小型数据可视化应用。

    你将学到

    • Chart组件的5种图表类型及适用场景
    • ChartData2D二维数据组件的数据绑定方式
    • 从CSV文件、TinyDB、Web API三种数据源导入数据的完整流程
    • 趋势线组件的4种拟合模型用法

    基础概念

    App Inventor 2 的图表体系由三个组件构成:

    1. Chart(图表容器):负责画布渲染,决定图表类型(折线图、面积图、散点图、条形图、饼图)
    2. ChartData2D(二维数据序列):挂载在Chart上,负责存储和管理x-y数据对,一条数据序列就是图表上的一组图形
    3. Trendline(趋势线):可选组件,挂载在ChartData2D上,自动计算最佳拟合线

    三者是嵌套关系:Chart → ChartData2D → Trendline。一个Chart可以挂多个ChartData2D(比如折线图上叠两条线),每个ChartData2D可以挂一个Trendline。

    逐步实战

    Step 1: 搭建图表界面

    在Designer视图中:

    1. 从左侧组件面板找到 图表(Chart),拖到Screen上
    2. 设置 类型 属性(先送"折线图"),开启 启用网格启用图例
    3. 从同一分类下拖一个 二维图表数据(ChartData2D) 到Chart内部

    Step 2: 静态数据快速验证

    在ChartData2D属性面板找到 元素来自键值对,填入:

    1,120,2,135,3,128,4,142,5,155,6,148,7,160

    格式是 x1,y1,x2,y2,... 逗号分隔。

    Step 3: 从CSV文件导入数据

    1. 拖入 数据文件(DataFile) 组件,上传CSV文件
    2. 设置 数据源 为 DataFile1,x列填week,y列填amount

    ChartData2D1.从数据文件导入(DataFile1, "week", "amount")

    Step 4: 从TinyDB读取历史数据

    调用 ChartData2D1.从微数据库导入(TinyDB1, "sales_history")

    TinyDB数据格式:[[1, 120], [2, 135], [3, 128]]

    Step 5: 从Web API实时拉取数据

    当 Web1.收到文本(响应内容, 响应码):
      调用 ChartData2D1.从Web客户端导入(Web1, "week", "amount")

    Step 6: 添加趋势线

    拖入 趋势线(Trendline) 组件,模型支持4种:
    线性:y = m·x + b
    二次:y = a·x² + b·x + c
    对数:y = a + b·ln(x)
    指数:y = a·bˣ

    开启 拓展 属性后趋势线会延伸做预测。R²越接近1说明拟合越好。

    Step 7: 运行时动态操作数据

    调用 ChartData2D1.添加数据点(8, 170)
    调用 ChartData2D1.删除数据点(3, 128)
    调用 ChartData2D1.清除数据序列()

    数据点被点击时 事件返回坐标,可实现交互式查看。

    常见坑点

    1. 饼图的x值是文本不是数字——用"手机""电脑"做标签,数字做y值
    2. 数据源绑定后旧数据不会清除——导入前先调用 清除数据序列()
    3. 趋势线需要AI伴侣v2.70+——旧版本调试看不到效果
    4. 条形图的x值会四舍五入——适合离散类别,不适合连续数据
    5. 多个数据序列的颜色——通过ChartData2D的 颜色列表 属性设置

    小结

    图表组件的核心思路就是"容器+数据序列"的两层架构。Chart管外观,ChartData2D管数据,Trendline管分析。数据来源可以是静态CSV、本地TinyDB、远程API甚至传感器实时数据。把这些组合起来,你的App就有了专业的数据可视化能力。

    完整文档参考:App Inventor 2 中文网 · 图表组件
    入门教程推荐:使用柱状图和饼图收集数据
    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    © 2026 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

    GMT+8, 2026-07-20 03:12 , Processed in 0.015851 second(s), 30 queries .