NetLogo:带有字符串列表的直方图

时间:2015-03-06 11:05:26

标签: histogram netlogo

我只是尝试在这样的字符列表上创建直方图构建:

histogram [a c a c b c a c c c c c c a c c a c a c a a c c c a a b c b c]

但它没有显示任何内容。 它只是应该处理数字还是我错过了什么?

2 个答案:

答案 0 :(得分:2)

您没有在直方图列表中使用引号,但我假设您想要绘制一个字符串列表,如[“a”“b”“c”...],对吗?

据我所知,不可能在netlogo图中使用分类值(如字符串)作为直方图。这也在netlogo字典中说明: histogram [...]忽略列表中的任何非数字值。 [...]

解决此问题的一种方法是通过给每个字符串字符指定一个特定的数字来转换为数字列表:

  let m ["a" "c" "a" "c" "b" "c" "a" "a" "c" "c" "b" "b" "c" "c" "a" "a"]
  let n [ ]

  foreach m
  [
    if (? = "a") [set n lput 0 n]
    if (? = "b") [set n lput 1 n]
    if (? = "c") [set n lput 2 n]
   ;...
  ]

  histogram n

答案 1 :(得分:-1)

正如你所说,

直方图工作。如果关于代码的信息很少,那么帮助您并不容易。对我来说,错误可能来自两种方式:

  1. 情节上下文定义需要在bar(即图像)
  2. 需要定义x-range绘图定义
  3. 对于第二个假设有点像

    set-plot-x-range 0 ( (max myliste) + 5)
    histogram myliste
    let maxbar modes myliste
    let maxrange length filter [ ? = item 0 maxbar ] myliste
    set-plot-y-range 0 1000
    

    在代码界面上的图可能有效

    plot definition in netlogo

    如果您选择第二种方式,则不需要像屏幕截图那样定义比例