逐笔绘制全局变量

Plotting a global variable tick by tick

我是 netlogo 的新手,我正在尝试从 csv 文件中绘制股票价格。 csv 文件只是 200 行左右的一列,我正在逐笔读取文件。我遇到的问题是该图需要一个数字,但得到的是一个列表值。有人可以帮我解决这个问题,因为在谷歌搜索一个小时后我不知道如何处理它。这是我下面的代码。谢谢。

extensions [csv]
globals [stock]

to setup
  clear-all
  file-close-all 
  file-open "stock.csv"
  reset-ticks
end


to go
    if file-at-end? [ stop ]
  set stock csv:from-row file-read-line
  tick
end

剧情代码就是"plot stock"

csv:from-row 获取 file-read-line 报告的字符串并将其解析为列表。在这种情况下,如果遇到具有单个值的字符串,例如“100”,它将把它放入具有单个元素的列表中,[100]。正如错误所暗示的那样,plot 想要值本身,因此 plot 命令应该是

plot item 0 stock

这将从列表中提取值。

对未来的建议:如果您遇到这样的错误,将 show 命令放在适当的位置通常会告诉您您所期望的不是您得到的。例如,

to go
  if file-at-end? [ stop ]
  set stock csv:from-row file-read-line
  show stock   
  tick 
end

会告诉你 stock 是一个列表而不是一个简单的值。我已经数不清在调试模型时被show拯救了多少次了。