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为位置坐标。您将必须测试几种图像尺寸和坐标,直到它适合您的需要。