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

如何在AnyLogic中根据节点代理数或资源池状态更改矩形节点颜色?

在AnyLogic中实现动态颜色调整的两种场景方案

1. 根据矩形节点内的代理数量更改节点颜色

  • 选中目标矩形节点,在**Properties(属性)**面板找到Fill color(填充颜色)选项,点击旁侧的表达式按钮(fx图标)。
  • 在表达式编辑器中,基于矩形内的代理数量编写条件判断逻辑:
    • 若矩形作为代理容器,直接用rectangle.getAgents()获取内部代理集合;如果是自定义的代理集合变量,替换为对应变量名即可。
    • 示例代码:
      int agentCount = rectangle.getAgents().size();
      if (agentCount == 0) {
          return color.white;
      } else if (agentCount <= 5) {
          return color.yellow;
      } else {
          return color.green;
      }
      
  • 勾选表达式面板底部的Evaluate periodically(定期评估),设置合理的评估间隔(如0.1秒),确保颜色随代理数量变化实时更新。

2. 资源池(Resource Pool)关联矩形的动态颜色调整

  • 先完成矩形与Resource Pool的关联:可将Resource Pool的Visualization(可视化)选项设置为该矩形,或直接在矩形的颜色表达式中引用Resource Pool的状态变量。
  • 选中矩形,打开Fill color的表达式编辑器,编写基于空闲资源数量的条件逻辑:
    • 假设你的Resource Pool变量名为resourcePool,用resourcePool.free()获取当前空闲资源数量。
    • 匹配需求阈值的示例代码:
      int freeResources = resourcePool.free();
      if (freeResources >= 10) {
          return color.green;
      } else if (freeResources >= 5) {
          return color.yellow;
      } else if (freeResources < 3) {
          return color.red;
      } else {
          return color.gray; // 处理3-4个空闲资源的中间状态,可按需自定义
      }
      
  • 勾选Evaluate periodically并设置评估间隔,保证颜色随资源状态变化实时更新。

内容的提问来源于stack exchange,提问作者Jahidul Hasan Razib

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 10:42:05