如何正确绘制变量

时间:2015-07-03 07:16:33

标签: netlogo

我试图查看文档,但我找不到我需要的答案。所以我在这里问:

我有15只海龟(这个数字可以变化),我需要将它们的变量(例如Revenue)绘制成一个图。我知道我可以绘制1个代理槽命令的变量

plot [revenue] of turtle 0

但是我如何绘制整个代理集呢?

我的第二个问题是,当我有乌龟0的命令图[收入]时,netlogo给我一个错误,说明:预期输入是乌龟代理集或乌龟但是反而得到了NOBODY(当我按下设置按钮时)。如何避免呢?

谢谢,Mestralx。

2 个答案:

答案 0 :(得分:2)

对于错误,您是否在代码中的任何位置重置了滴答?你需要它来初始化图。通常,您应将其放置在设置过程的最后。此外,绘图命令(如果您使用它们)不应该通过设置调用,但应该在go过程中,因为否则您将只获得初始值而不是随时间变化的绘图。

如果您的乌龟计数不同,您最好的方法可能是绘制关键值,如最小值,平均值,中位数或其他值。 NetLogo建议的做法是直接在界面中而不是在代码中执行此操作。因此,您可以在界面上创建一个绘图,例如mean [revenue] of turtles作为绘图代码。如果您希望显示所有收入值但是不会随时间给出一个情节,您也可以进行直方图。

答案 1 :(得分:1)

您可以使用create-temporary-plot-pen随意制作尽可能多的绘图笔。在你的情况下,每只乌龟一个。

这是一个小代码示例。假设我有:

to setup
  clear-all
  reset-ticks
end

to go
  if ticks < 10 [ create-turtles 1 ]
  ask turtles [ fd 1 ]
  tick
end

现在在我的情节中,我删除了默认笔,并将其放在情节&#34;绘图更新命令&#34;:

ask turtles [
  create-temporary-plot-pen (word who)
  set-plot-pen-color color
  plotxy xcor ticks
]

如果我运行它,我得到:

enter image description here