Netlogo绘图直方图百分比
我试图在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
[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
设置正确缩放,您的绘图就会像这样: