You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AnyLogic中基于外部Excel数据创建Plot Chart?

在AnyLogic中用Excel外部数据创建时间-数值图表的步骤

一、准备Excel文件

  • 确保表格结构规范:第一列为时间数据(推荐用标准日期/时间格式,如yyyy-MM-dd HH:mm),第二列为数值数据
  • 将Excel文件放入AnyLogic项目的data文件夹,方便后续路径引用

二、导入Excel数据并存储(解决集合存储失败问题)

  • 从AnyLogic的「Connectivity」面板拖拽ExcelFile对象到Main代理中
  • 配置ExcelFile属性:
    • 在File name栏输入data/你的文件名.xlsx(xls格式则改后缀)
    • 勾选Read on startup,保证模型启动时自动读取数据
  • 创建泛型集合存储数据:在Main代理的「Variables」中添加List<Pair<Date, Double>> dataList = new ArrayList<>(),用Pair封装时间和数值对,避免类型不匹配导致的存储失败
  • 在Main的On startup代码块中写入读取逻辑:
    Sheet sheet = excelFile.getSheet(0);
    // 从第二行开始读取,跳过表头行
    for (int i = 1; i < sheet.getRowsCount(); i++) {
        // 读取第一列时间(若Excel时间为文本格式,需转成Date)
        Date time = sheet.getDate(i, 0);
        // 读取第二列数值
        double value = sheet.getDouble(i, 1);
        dataList.add(new Pair<>(time, value));
    }
    
    若Excel时间是文本格式,替换时间读取代码:
    Date time = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(sheet.getString(i, 0));
    

三、创建并配置时间序列图表

  • 从「Presentation」面板拖拽Time Series Chart到Main画布
  • 双击图表打开属性窗口,切换到Data标签:
    • 点击Add添加数据序列
    • Data source选择Custom
    • X表达式填写:((Pair<Date, Double>)it).first
    • Y表达式填写:((Pair<Date, Double>)it).second
    • Elements选择之前创建的集合dataList
  • (可选)调整图表样式:在Appearance标签设置标题、坐标轴标签,勾选Show legend并命名序列

四、测试模型

点击运行按钮,模型启动后会自动读取Excel数据并在图表中渲染时间-数值曲线

内容的提问来源于stack exchange,提问作者Abdelhamid Abdullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 18:04:53