2015-07-03 32 views
2

我试图查看文档,但是我还没有找到需要的答案。所以我在这里问:如何正确绘制变量

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

plot [revenue] of turtle 0 

但是我怎么能绘制整个代理集?

我的第二个问题是,当我有海龟0的命令plot [收益]时,netlogo给我一个错误,说:OF预期的输入是一个乌龟代理集或乌龟,而不是NOBODY(当我按下设置按钮时) 。如何避免它?

谢谢,Mestralx。

回答

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 
在我的剧情

现在,我删除默认的笔,我把这个情节的“情节update命令”:

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

如果我运行它,我得到:

enter image description here

2

对于错误,您是否在代码中的任何位置有重置刻度?你需要这个来初始化地块。一般而言,您应该在安装过程结束时进行放置。此外,绘图命令(如果您正在使用它们)不应该由安装程序调用,而应该在执行程序中,因为否则您将只获得初始值而不是随着时间的推移绘制。

如果你的海龟数量不同,你最好的办法可能是绘制关键值,如最小值,平均值,中位数等等。 NetLogo推荐的做法是直接在界面中而不是在代码中执行此操作。因此,您可以在界面上创建一个图形,例如mean [revenue] of turtles作为图形代码。如果您希望显示所有收入值,但也不会随时间变化,您也可以制作直方图。

+0

的第一件事是固定的,我用了复位剔功能,但是在安装过程开始时使用它 - 它移动到结束和错误是固定的。如果我理解正确的话,有没有我可以随时间绘制所有海龟的变量吗? – Mestralx

+0

您是否正在尝试创建一个包含约16条不同线条(每个龟对应一条)的情节? – JenB

+0

是的,可能是坏主意,但我想这样做.. – Mestralx