如何在NetLogo中生成直方图?

Rus*_*ott 3 netlogo

breed有个叫players.每player-owns一个player-strategy.有6种可能player-strategies.当我写作

histogram [player-strategy] of players

我的情节中没有任何内容.

我有一个带一支笔的情节 - 并没有设置情节或笔名.plot-name返回情节.pen-modebar.interval是1.0

我不知道如何要求当前penname.但由于情节只有一支笔,所以无所谓.

直方图命令位于plot-updatepen-update.我在一起或一次尝试过它.我也试过代码.没有区别.

我需要做什么才能显示直方图?

Nic*_*tte 6

好的,这就是我认为你所追求的.

如果您创建以下图表:

情节设置

并编写以下代码:

extensions [table]
breed [players player]
players-own [player-strategy]

to setup
  clear-all
  create-players 100 [ set player-strategy one-of ["a" "b" "c" "d" "e"] ]
  reset-ticks
end

to update-strategy-plot
  set-current-plot "Player strategies"
  clear-plot
  let counts table:counts [ player-strategy ] of players
  let strategies sort table:keys counts
  let n length strategies
  set-plot-x-range 0 n
  let step 0.05 ; tweak this to leave no gaps
  (foreach strategies range n [ [s i] ->
    let y table:get counts s
    let c hsb (i * 360 / n) 50 75
    create-temporary-plot-pen s
    set-plot-pen-mode 1 ; bar mode
    set-plot-pen-color c
    foreach (range 0 y step) [ _y -> plotxy i _y ]
    set-plot-pen-color black
    plotxy i y
    set-plot-pen-color c ; to get the right color in the legend
  ])
end
Run Code Online (Sandbox Code Playgroud)

你应该得到以下情节:

情节结果

我相信这也应该回答你之前的问题.

(请注意,我已将绘图代码放在代码选项卡过程中,但您也可以将其粘贴在"绘图更新命令"字段中.)

  • NetLogo开发团队资源有限.但NetLogo是开源的.捐款或捐款的资金总是受欢迎的. (2认同)