如何绘制Process智能体种群Treated输出统计图表?求和函数失效求助
解决Process智能体Treated数据图表展示问题
问题根源
你用sum(Process.Treated, p ->p.count())是对所有Process的Treated值求和,但你的需求是展示每个Process智能体的独立统计值,这个函数完全不符合需求。
正确实现方式
1. 图表数据配置
在图表的数据设置里,直接基于种群成员做维度拆分:
- 数据来源选
Process种群 - X轴设为
Agent(对应每个Process智能体实例) - Y轴绑定
Treated的count()统计量
2. 表达式修正
如果需要用表达式获取每个实例的数值列表,用遍历收集而非求和:
Process.collect(p -> p.Treated.count())
这个表达式会返回所有Process智能体的Treated统计值列表,图表可直接基于该列表生成每个实例的柱状图或折线图。
3. 验证数据输出正确性
先确认每个Process智能体的Treated配置没问题:
- 检查sink的
onExit事件中,是否调用了Treated.increment()来触发计数更新 - 确认
Treated的统计类型设置为Count
内容的提问来源于stack exchange,提问作者Wissem Aboub
相关产品推荐
相关产品推荐

