Netlogo如何添加图例?

时间:2018-07-13 15:39:55

标签: netlogo

我开始使用netlogo,我想在模型中添加图例。

我找不到任何方法。

有一些标准的方法吗?

我曾考虑过将图像添加到界面中,但没有找到任何方法。 例如,我希望用户知道绿色粒子的含义以及读取的含义

enter image description here

2 个答案:

答案 0 :(得分:5)

您可以使用bitmap extension. 这是一个结果示例:

enter image description here

代码:

extensions [bitmap]
....
let legend bitmap:import "symbology.png"
bitmap:copy-to-drawing legend 40 275

“ symbology.png”是图形文件的名称,而40 275是位置坐标。您将不得不测试几种图像大小和坐标,直到适合您的需求为止。

答案 1 :(得分:2)

我不知道这样做的好方法,我所能获得的最接近的方法是结合使用特定的plot设置和note小部件。例如,从一个名为“ Legend”的情节开始,并以此设置开始:

enter image description here

现在将其大小设置为如下所示:

enter image description here

现在制定一个程序来“绘制”图例指南(注释中的一些详细信息):

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现在应该使您的“传奇”情节看起来像

enter image description here

现在,您可以制作一些note小部件并将它们分层放置在绘图中的空白区域上:

enter image description here

enter image description here

不是很简单,但绝对是我找到的最接近的

编辑:

“最近发现我是在NetLogo中构建图例的。”如果可以随意摆动,哈维尔的答案是更好的方法。