Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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,我试图在NetLogo中创建一个直方图,显示列表中每个唯一值的百分比而不是频率。假设我们有一个列表[1 1 2 5],那么直方图应该有3条对应于以下点的条形图: Bar1-->(x:1, y:0.5) Bar2-->(x:2, y:0.25) Bar3-->(x:5, y:0.25) 要制作条形图,我认为最简单的方法可能是使用NetLogo中的plotxy函数。使用此设置: globals [ example_list ] to setup ca set examp

我试图在NetLogo中创建一个直方图,显示列表中每个唯一值的百分比而不是频率。假设我们有一个列表
[1 1 2 5]
,那么直方图应该有3条对应于以下点的条形图:

Bar1-->(x:1, y:0.5)
Bar2-->(x:2, y:0.25)
Bar3-->(x:5, y:0.25)

要制作条形图,我认为最简单的方法可能是使用NetLogo中的
plotxy
函数。使用此设置:

globals [ example_list ]

to setup
  ca
  set example_list [ 1 1 2 5 ]
  reset-ticks
end
A
报告
获取列表中项目的频率:

to-report freq [ i_ list_ ]
  report length filter [ ind -> ind = i_ ] list_
end
然后使用
报告
查找传递的每个唯一值的比例,并将该值与唯一值成对输出(注释中有更多详细信息):

现在,您可以将列表传递到
freq\u map
,它将输出xy对列表:

observer> show freq_map [ 1 1 2 5 ]
observer: [[1 0.5] [2 0.25] [5 0.25]]
现在可以设置绘图了。如果对这些对中的每一对使用
foreach
plotxy
,如下所示:

只要您使用
X max
Y max
设置正确缩放,您的绘图就会像这样:


要制作条形图,我认为最简单的方法可能是使用NetLogo中的
plotxy
功能。使用此设置:

globals [ example_list ]

to setup
  ca
  set example_list [ 1 1 2 5 ]
  reset-ticks
end
A
报告
获取列表中项目的频率:

to-report freq [ i_ list_ ]
  report length filter [ ind -> ind = i_ ] list_
end
然后使用
报告
查找传递的每个唯一值的比例,并将该值与唯一值成对输出(注释中有更多详细信息):

现在,您可以将列表传递到
freq\u map
,它将输出xy对列表:

observer> show freq_map [ 1 1 2 5 ]
observer: [[1 0.5] [2 0.25] [5 0.25]]
现在可以设置绘图了。如果对这些对中的每一对使用
foreach
plotxy
,如下所示:

只要您使用
X max
Y max
设置正确缩放,您的绘图就会像这样: