Netlogo如何添加图例?
Netlogo how to add a legend?
开始使用netlogo,想给模型加个图例
我没有找到任何方法。
是否有一些标准的方法来做到这一点?
我考虑过在界面中添加图像,但没有找到任何方法。
例如,我希望用户知道绿色粒子的含义以及读取的含义
我不知道这样做的好方法,我能得到的最接近的方法是结合使用特定的 plot
设置和 note
小部件。例如,从一个名为 "Legend" 的图开始,此设置开始:
现在将其调整为如下所示:
现在对'draw' legend guides 做一个程序(一些细节在评论中):
to setup-legend-plot
; Choose correct plot
set-current-plot "Legend"
clear-plot
; Define starting y and color
let starts [ [ 10 green ] [ 7 red ] [ 4 blue ] ]
; for each value in starts
foreach starts [ start ->
; make a range of values starting at the initial
; y value from 'starts'
let s first start
let f s - 2.5
let ran ( range s f -0.01 )
create-temporary-plot-pen "temp"
set-plot-pen-color last start
; draw lines at each y value to make it
; look like a solid drawing
foreach ran [ y ->
plot-pen-up
plotxy 1 y
plot-pen-down
plotxy 2 y
]
]
end
调用 setup-legend-plot
现在应该使您的 "Legend" 情节看起来像
现在您可以制作一些 note
小部件并将它们层叠在绘图中的空白 space 上:
不是很直接,但绝对是我发现的最接近的。
编辑:
"Closest I've found for building a legend within NetLogo." Javier 的回答是一个更好的方法,如果你能改变的话。
您可以使用 bitmap extension.
这是一个结果示例:
代码:
extensions [bitmap]
....
let legend bitmap:import "symbology.png"
bitmap:copy-to-drawing legend 40 275
"symbology.png"为图形文件名,40275为位置坐标。您将必须测试几种图像尺寸和坐标,直到它适合您的需要。
开始使用netlogo,想给模型加个图例
我没有找到任何方法。
是否有一些标准的方法来做到这一点?
我考虑过在界面中添加图像,但没有找到任何方法。 例如,我希望用户知道绿色粒子的含义以及读取的含义
我不知道这样做的好方法,我能得到的最接近的方法是结合使用特定的 plot
设置和 note
小部件。例如,从一个名为 "Legend" 的图开始,此设置开始:
现在将其调整为如下所示:
现在对'draw' legend guides 做一个程序(一些细节在评论中):
to setup-legend-plot
; Choose correct plot
set-current-plot "Legend"
clear-plot
; Define starting y and color
let starts [ [ 10 green ] [ 7 red ] [ 4 blue ] ]
; for each value in starts
foreach starts [ start ->
; make a range of values starting at the initial
; y value from 'starts'
let s first start
let f s - 2.5
let ran ( range s f -0.01 )
create-temporary-plot-pen "temp"
set-plot-pen-color last start
; draw lines at each y value to make it
; look like a solid drawing
foreach ran [ y ->
plot-pen-up
plotxy 1 y
plot-pen-down
plotxy 2 y
]
]
end
调用 setup-legend-plot
现在应该使您的 "Legend" 情节看起来像
现在您可以制作一些 note
小部件并将它们层叠在绘图中的空白 space 上:
不是很直接,但绝对是我发现的最接近的。
编辑:
"Closest I've found for building a legend within NetLogo." Javier 的回答是一个更好的方法,如果你能改变的话。
您可以使用 bitmap extension. 这是一个结果示例:
代码:
extensions [bitmap]
....
let legend bitmap:import "symbology.png"
bitmap:copy-to-drawing legend 40 275
"symbology.png"为图形文件名,40275为位置坐标。您将必须测试几种图像尺寸和坐标,直到它适合您的需要。