Anylogic 灵敏度分析图表图例

问题描述 投票:0回答:1

我能够成功创建敏感性分析,但不幸的是,如图所示,图例是随机排列的。但我想要升序。

Sensitivity Analysis with random legend order

模拟运行后:

Color color = lerpColor( (getCurrentIteration() - 1) / (double) (getMaximumIterations() - 1), blue, red );
chart0.addDataSet( root.childDS, format( root.childgoal ), color, true, Chart.INTERPOLATION_LINEAR, 1, Chart.POINT_NONE );

输入数据集按升序排列。 我用 sortAscending 尝试过。不幸的是它没有成功。

非常感谢您对我如何解决这个问题的建议。

anylogic
1个回答
0
投票

您的运行以准随机方式完成,您只需在运行完成时添加数据集即可。

要克服这个问题,请以顺序模式运行(关闭实验设置中的“并行评估”)。

或者这样做:

  • 添加类型为
    LinkedHashMap
    的集合,键为
    Integer
    ,值为
    DataSet
    ,将其命名为
    myCol
  • 在“模拟运行后”代码中,在定义颜色的行之后执行此操作:

myCol.put(getCurrentIteration(), root.childDS);
chart0.removeAll(); // maybe use .clearAll(), cant remember
for (int currIt : myCol.keySet()) {
    chart0.addDataSet(myCol.get(currIt), ...); // add other args as usual
}

您可能需要修改代码本身,这里只是凭记忆编写,如果您遇到困难,请使用 API 并提供帮助

© www.soinside.com 2019 - 2024. All rights reserved.