我只是尝试在这样的字符列表上创建直方图构建:
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]
但它没有显示任何内容。 它只是应该处理数字还是我错过了什么?
答案 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)
直方图工作。如果关于代码的信息很少,那么帮助您并不容易。对我来说,错误可能来自两种方式:
x-range
绘图定义对于第二个假设有点像
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
在代码界面上的图可能有效
如果您选择第二种方式,则不需要像屏幕截图那样定义比例