如何在 AnyLogic 中使用自定义对象绘制数据?
How to plot data using custom objects in AnyLogic?
我正在构建一个包含 "TimeRecord" 类型对象(我已定义的对象)的 ArrayList。每个 TimeRecord 对象包含以下字段:
- ID -> 字段的标识符
- StartTime -> 对象通过我的网络特定点的时间
- StopTime -> 对象通过我网络的另一个特定点的时间
每个时间字段都填充了 AnyLogic time()
函数,目的是收集我网络中两点之间的时间。是否可以将具有时差 StopTime - StartTime
的列表传递给图表对象以绘制每个请求的时间?
是的,您可以使用数据集并使用事件更新它。例如:
- 将一个数据集拖到 main(可能,在您的情况下使用直方图数据集是个好主意,这取决于您要显示的内容)
- 拖一个事件到main,每n次更新一次。
- 在事件的字段操作中,您可以添加如下内容:
dataset.reset();
for (TimeRecord t : YourArrayList) {
dataset.add(t.StopTime - t.StartTime);
}
另一种不使用循环的方法是在代理级别创建一个变量来记录开始时间,然后当代理完成正在做的事情时将停止和开始之间的差异添加到数据集中.
不管怎样,添加一个图,并在数据字段中指定相应的数据集。
我正在构建一个包含 "TimeRecord" 类型对象(我已定义的对象)的 ArrayList。每个 TimeRecord 对象包含以下字段:
- ID -> 字段的标识符
- StartTime -> 对象通过我的网络特定点的时间
- StopTime -> 对象通过我网络的另一个特定点的时间
每个时间字段都填充了 AnyLogic time()
函数,目的是收集我网络中两点之间的时间。是否可以将具有时差 StopTime - StartTime
的列表传递给图表对象以绘制每个请求的时间?
是的,您可以使用数据集并使用事件更新它。例如:
- 将一个数据集拖到 main(可能,在您的情况下使用直方图数据集是个好主意,这取决于您要显示的内容)
- 拖一个事件到main,每n次更新一次。
- 在事件的字段操作中,您可以添加如下内容:
dataset.reset();
for (TimeRecord t : YourArrayList) {
dataset.add(t.StopTime - t.StartTime);
}
另一种不使用循环的方法是在代理级别创建一个变量来记录开始时间,然后当代理完成正在做的事情时将停止和开始之间的差异添加到数据集中.
不管怎样,添加一个图,并在数据字段中指定相应的数据集。