Step4: 图表输出

为了更直观了解模型运行状况,我们为仿真模型创建图标输出:

  • 最大道路损耗度折线图

  • 平均道路损耗度折现图

  • 人群活动状态饼状图

experiment road_traffic type: gui {
    ...
    display chart_display refresh: every(10#cycles) { 
        //创建图表Road Status,类型为折线图,大小为宽1,高0.5,左上角位置为0,0
        chart "Road Status" type: series size: {1, 0.5} position: {0, 0} {
            //第一系列数据为道路平均损耗度
            data "Mean road destruction" value: mean (road collect each.destruction_coeff) style: line color: #green ;
            //第二系列数据为道路最大损耗度
            data "Max road destruction" value: road max_of each.destruction_coeff style: line color: #red ;
        }
        //创建图表People Objectif,类型为饼图,大小为宽1,高0.5,左上角位置为0,0.5
        chart "People Objectif" type: pie style: exploded size: {1, 0.5} position: {0, 0.5}{
            //第一系列数据为工作人群数量
            data "Working" value: people count (each.objective="working") color: #magenta ;
            //第一系列数据为休息人群数量
            data "Resting" value: people count (each.objective="resting") color: #blue ;
        }
    }
    }
}

mean(container)、max(container): 返回列表container的平均值/最大值。 container mean_of/max_of expression: 返回对container元素进行expression操作后的平均值/最大值。 container collect expression: 返回对列表container元素进行expression操作后的新列表。 container count expression: 返回列表container中满足expression条件的元素的数量。

本节完整代码如下:

Last updated

Was this helpful?