【问题标题】:Netlogo how to add a legend?Netlogo如何添加图例?
【发布时间】:2018-07-13 15:39:54
【问题描述】:

我开始使用 netlogo,我想为模型添加一个图例。

我没有找到任何方法。

有什么标准的方法吗?

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

【问题讨论】:

  • 您要添加什么样的图例?去情节?
  • @LukeC 没有模特的传说
  • @LukeC 我添加了图片

标签: netlogo


【解决方案1】:

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

代码:

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

“symbology.png”为图形文件名,40275为位置坐标。您将不得不测试几种图像尺寸和坐标,直到它适合您的需要。

【讨论】:

    【解决方案2】:

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

    现在调整它的大小,看起来像这样:

    现在制作一个“绘制”图例指南的程序(cmets 中的一些细节):

    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 应该会让你的“传奇”情节看起来像

    现在您可以制作一些note 小部件并将它们叠加在绘图中的空白处:

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

    编辑:

    “我找到的最接近在 NetLogo 中构建传奇的方法。”如果你可以挥动它,哈维尔的答案是一个更好的方法。

    【讨论】:

    • 哇...!我不确定我是否完全同意,但这是一种非常有创意的技巧。我印象深刻。
    • @NicolasPayette 这完全公平,但我仍然会接受赞美。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多