在 Netlogo 中不断更新的列表中绘制一个项目
plot an item in a list which keeps updating in Netlogo
我在界面中为一些生产者代理定义了一组属性作为全局变量,然后将它们分配给一个列表(在设置中),该列表也是全局的,代理将使用其内容。
问题是我无法绘制它们。
在界面中定义为全局变量:p1-size = 9, p2-size = 13, p3-size = 14.5, p1-rate = 80, p2-rate = 50, p3-rate = 98
to setup
ca ; clear-all
reset-ticks
file-close-all
setup-patches
create-prod ; create producers
set size-set ((list p1-size p2-size p3-size))
set rate-set ((list p1-rate p2-rate p3-rate))
我想绘制和监控利率的变化情况,但我在定义这个时遇到了错误:
plot item 0 size-set
大小设置是全局的,但错误显示“ITEM 应为字符串或列表,但得到的是数字 0。
对于这方面的任何帮助,我将不胜感激。
谢谢,
reset-ticks
原语具有更新绘图的副作用。在您的代码中,您在 reset-ticks
之前调用 设置 size-set
的值,因此在您的情节调用 plot item 0 size-set
时,您的 size-set
全局仍然有其默认值 0
。
两个可能的解决方案:
将 reset-ticks
移动到 setup
过程的末尾。这样, size-set
将在您的绘图更新时正确初始化。除非您有非常特殊的理由不这样做,否则这是您应该选择的解决方案。 NetLogo中的标准是只在setup
.
的末尾调用reset-ticks
除非你有充分的理由,否则你不应该这样做,但你也可以在你的策划声明中加入某种"guard condition":if is-list? size-set [ plotxy ticks item 0 size-set ]
。请注意 plotxy
instead of plot
的使用,以确保您仍在正确的 x 位置绘图,即使您的保护条件导致您跳过一些刻度。
我在界面中为一些生产者代理定义了一组属性作为全局变量,然后将它们分配给一个列表(在设置中),该列表也是全局的,代理将使用其内容。
问题是我无法绘制它们。
在界面中定义为全局变量:p1-size = 9, p2-size = 13, p3-size = 14.5, p1-rate = 80, p2-rate = 50, p3-rate = 98
to setup
ca ; clear-all
reset-ticks
file-close-all
setup-patches
create-prod ; create producers
set size-set ((list p1-size p2-size p3-size))
set rate-set ((list p1-rate p2-rate p3-rate))
我想绘制和监控利率的变化情况,但我在定义这个时遇到了错误:
plot item 0 size-set
大小设置是全局的,但错误显示“ITEM 应为字符串或列表,但得到的是数字 0。
对于这方面的任何帮助,我将不胜感激。
谢谢,
reset-ticks
原语具有更新绘图的副作用。在您的代码中,您在 reset-ticks
之前调用 设置 size-set
的值,因此在您的情节调用 plot item 0 size-set
时,您的 size-set
全局仍然有其默认值 0
。
两个可能的解决方案:
将
reset-ticks
移动到setup
过程的末尾。这样,size-set
将在您的绘图更新时正确初始化。除非您有非常特殊的理由不这样做,否则这是您应该选择的解决方案。 NetLogo中的标准是只在setup
. 的末尾调用除非你有充分的理由,否则你不应该这样做,但你也可以在你的策划声明中加入某种"guard condition":
if is-list? size-set [ plotxy ticks item 0 size-set ]
。请注意plotxy
instead ofplot
的使用,以确保您仍在正确的 x 位置绘图,即使您的保护条件导致您跳过一些刻度。
reset-ticks