Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netlogo 动作播放频率的直方图_Netlogo - Fatal编程技术网

Netlogo 动作播放频率的直方图

Netlogo 动作播放频率的直方图,netlogo,Netlogo,我使用Roth Erev强化学习算法创建了一个模型,以便每一轮代理从一组动作a中选择他们的动作a。这些动作计算在整个游戏中玩的频率 我现在想创建一个直方图,它的频率在y轴上,动作在x轴上。我还想用它的参数来标记每个动作,但我知道这是不可能的 仅仅使用动作的直方图计数[n-played]不会单独绘制每个动作。我认为plotxy最接近,但不适用于直方图。是否有任何内置解决方案或我必须可视化Netlogo之外的数据?您将无法标记列,但您不限于用于生成条形图的直方图命令。每个绘图笔都有一个可以是“线”、

我使用Roth Erev强化学习算法创建了一个模型,以便每一轮代理从一组动作
a
中选择他们的动作
a
。这些动作计算在整个游戏中玩的频率

我现在想创建一个直方图,它的频率在y轴上,动作在x轴上。我还想用它的参数来标记每个动作,但我知道这是不可能的


仅仅使用动作的
直方图计数[n-played]
不会单独绘制每个动作。我认为
plotxy
最接近,但不适用于直方图。是否有任何内置解决方案或我必须可视化Netlogo之外的数据?

您将无法标记列,但您不限于用于生成条形图的
直方图
命令。每个绘图笔都有一个可以是“线”、“条”或“点”的绘图笔。通过使用“条形”模式,可以使用
plot
plotxy
命令生成条形图:

以下是易于剪切和粘贴的代码:

plot-pen-reset
foreach map [ [ n-played ] of ? ] sort actions plot

注意,这使用“简明任务语法”将
plot
传递到
foreach
。如果愿意,您可以编写
[plot?]

是否要显示当前时间段中的操作频率,以及到目前为止所有时间的总和,或者其他内容?还有,有多少个动作?我想显示总的频率。共有27个动作。非常感谢,这真的很有帮助。:-)不过我有点不准确。一个品种的每个代理都有一个动作,所以我的27个动作被复制了5次。您的代码示例绘制了这135个动作中的每一个,但我想将相同动作的
n-play
相加。为此,我给了他们一个ID,列出了这些ID,并使用
foreach map[sum[n-played]操作的[ID=?]]action ID[plot?]
。不幸的是,这会产生
映射预期输入为列表,但得到的是数字0。
尽管操作id是设置过程中的第二件事,并且工作正常。该消息表明
操作id
不是列表。要使代码正常工作,您需要传递一个唯一的
操作id
s列表。如果您还没有,您可能可以使用
sort remove duplicates[id]操作生成一个。