是的,这里有一个类似的问题NetLogo: histogram relative frequency,但据我所知,没有给出答案。我可以再次重新询问吗?我会根据问题添加评论,但我不允许。
我想绘制具有特定颜色的补丁的相对频率,以增加与乌龟的距离。到目前为止我尝试过的:
ask turtle [
set-current-plot "plot 1"
set-plot-y-range 0 1
set-plot-pen-mode 1
histogram [distance myself] of patches with [pcolor = red]]
这只给我绝对频率。我想绘制每个补丁颜色的相对频率,以增加与乌龟的距离。因此,距离海龟距离= 1时,总数中有多少个补丁。补丁是红色的。我尝试添加
histogram [distance myself ] of patches with [ ] / count patches with [distance myself = 1] ; when x-axis = 1, and so for increasing x
但由于原始直方图需要列表,因此存在某些语法问题。我认为有一种更简单的方法可以将y轴设置为(距离x处的补丁的绝对出现次数/总数),所以我浏览了Netlogo字典,但找不到在绘图集下设置y轴的东西 - 命令。
非常感谢有关此问题的任何建议!感谢您的时间。
答案 0 :(得分:0)
听起来你想绘制红色与总贴片的比例与距离的关系。你不会使用直方图...
相反,你要绘制它。
你需要获得距离最远的补丁的距离。比每个距离计算红色与该距离处的补丁总数的比例。
为了让你的生活更简单,你可能想要绕过距离,因为乌龟可能偏离补丁(即如果海龟有xcor .5而不是0或1。)
to setup
clear-all
crt 1 [ setxy random-xcor random-ycor]
ask patches [ set pcolor ifelse-value (random 100 < 30) [red][black]]
ask turtle 0
[
let max-distance round max [distance myself] of patches
set-current-plot "example-plot"
set-plot-x-range 0 max-distance
set-plot-y-range 0 1
foreach n-values max-distance [?]
[
let percent-red (count patches with [ round (distance myself) = ? and pcolor = red]) / (count patches with [ round (distance myself) = ?])
plotxy ? percent-red
]
]
end