2015-07-03 28 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