我是这种语言的新手,我想创建一个图表,到目前为止我已经完成了非常基本的结构(节点)。我想为每个节点分配一个不同的值,这个值应该从列表中获取(如[1 2 3 4]),这个列表应该自动生成。
我在其他地方读过这个命令[n-values <number> [self]]
但我真的不明白[self]
代表什么。我希望我的程序要做的是创建n个节点(n取自滑块值),然后分别为每个节点分配值(1 2 3 4 5 ... n)。
到目前为止我的代码:
breed [nodes node] ;;Hacemos 'especies'(Clases) de tortugas, el objeto nodes será de una especie node.
nodes-own [info]
to setup
ca ;clear all shortage
ask patches [set pcolor white] ;;hacemos todas las parcelas blancas
create-nodes num-nodes [ ;creamos tantos nodos como el slider diga
set shape "circle" ;con forma de circulo
setxy random-pxcor random-pycor ;;en cualquier lugar.
]
ask nodes [set info 9] ;;<<<ALL nodes have value 9 I'd like to change this!!!
reset-ticks
end
to layout
layout-spring nodes links .5 .5 .5
end
感谢您的建议!
另外:有更好的制作图表的方法吗? (我打算使用流量网络!)
答案 0 :(得分:2)
我不确定您为什么需要n-value <number> self
N值的作用是在括号中重复记者n次,例如:如果你:
ask nodes [print n-values info [self]]
每个节点将打印自己的名称,例如(节点1)信息时间。
最佳起点是NetLogo模型库示例,有大量示例使用节点和链接来显示小世界,团队装配,病毒网络等...
http://ccl.northwestern.edu/netlogo/models/
或仅从netlogo选择文件/模型库
这是您的代码,只需进行一些更改,通过添加列表来选择信息的值,但是,如果您认为应该将信息分配给链接而不是节点,则可以将其添加到链接自己的
breed [nodes node] ;;Hacemos 'especies'(Clases) de tortugas, el objeto nodes será de una especie node.
nodes-own [info]
globals
[My-Num-List]
links-own [msg]
to setup
ca ;clear all shortage
ask patches [set pcolor white] ;;hacemos todas las parcelas blancas
set My-Num-List [ 1 2 3 4 5 6 7 8 9 10] ; or any other list you need
create-nodes num-of-nodes [ ;creamos tantos nodos como el slider diga
set shape "circle" ;con forma de circulo
setxy random-pxcor random-pycor ;;en cualquier lugar
set label-color black
set info one-of My-Num-List
set label info
]
;;<<<ALL nodes have value 9 I'd like to change this!!!
reset-ticks
end
to layout
crtlinks
layout-spring nodes links .5 .5 .5
end
to crtlinks
ask turtles
[
create-links-with n-of 2 other turtles
[
set msg one-of [ "C" "A" "B"]
set label msg
set label-color black
set thickness 0.2
]
]