绘制与变量/列表相关的向下成形曲线

时间:2019-04-10 12:48:40

标签: netlogo agent-based-modeling

这与my previous question

有关

我为每只乌龟创建了一个包含三个元素的列表(观点1观点2观点3)。每个元素都在[-1; +1]范围(每只海龟三个随机值)。

我现在想要的是绘制一个具有3条向下倾斜曲线的图,该曲线反映了至少具有 个给定意见的海龟数量。也就是说,如果我有100只海龟,那么-1有100次出现,+ 2有0次出现。到目前为止,我已经成功创建了

的意见直方图
set-current-plot "opinion distribution"
set-histogram-num-bars 10
histogram [sum opinions] of turtles

哪个给enter image description here 但这并不是我真正想要的,因为(1)我将所有三种意见放在一起,而我希望它们分开,并且(2)我所追求的不是向下倾斜的线,而是累计频率而不是绝对频率。 / p>

任何帮助一如既往!


在LukeC发表评论后,我添加了一张图片,试图使我的图形目标更加清晰

enter image description here

1 个答案:

答案 0 :(得分:0)

您能否提供更多细节或示例,说明您的情节应该是什么样子?我不太确定您要在这里计算什么-您是否要检查以其中一种意见为最低意见的海龟数量?如果是这样,这可能会满足您的尝试。通过此setup和玩具go过程来修改乌龟的意见:

turtles-own [ opinions ]

to setup
  ca
  crt 100 [
    set opinions n-values 3 [ random 3 - 1 ]
  ]
  reset-ticks
end


to go
  ask turtles [
    let i one-of [ 0 1 2 ] 
    let my-opinion item i opinions
    let greater one-of other turtles with [
      item i opinions > my-opinion 
    ] 
    if greater != nobody [
      set opinions replace-item i opinions [ item i opinions ] of greater
    ]
  ]  
  tick
end

您可以使记者返回您需要的任何值。在这里,我做了三位装箱记者,他们只以三个可能值作为opinions列表的最小值来计算海龟的数量:

to-report bin-1
  report count turtles with [ min opinions = -1  ]
end

to-report bin-2
  report count turtles with [ min opinions = 0 ]
end

to-report bin-3
  report count turtles with [ min opinions = 1 ]
end

如果您密谋这些记者(例如,用一支叫plot bin-1的密谋笔),您将得到类似的信息:

enter image description here

那是正确的吗?如果没有,您能否再充实一点您希望随着时间的推移而呈现的样子?