在 Julia 的直方图中标记和指定 bin

Labelling and specifying bins in histograms in Julia

我正在尝试在 Julia 中绘制直方图。出于说明目的,在下面的示例中,我绘制了 age,范围从 0 to 100.

age = 100*rand(1000,1)
histogram(age, xlabel = "Age", bins = range(0,100, step = 5),
            xticks = 0:5:100, leg = false)

理想情况下我想要:

  1. 让第一个 bin 包含所有小于 20 的值,最后一个 bin 包含所有大于 60 的值。其他 bin 应该与上面一样,step = 5.

  2. 能够标记垃圾箱,特别是 < 20> 60

有什么办法吗?

我假设您正在使用 Plots 绘图包(最好在您的问题中明确说明这一点,因为 Julia 中有许多具有不同语法和功能的成熟绘图包)。

关于你的第一个问题,clamp 你的年龄向量很有用,这样所有低于 20 的值都设置为 19,所有高于 60 的值都设置为 61。

关于第二点,您可以直接设置 xticks 包含标签:

julia> histogram(clamp.(age, 19, 61), bins = 10; xlabel = "Age", leg = false,
                 xticks = ([17.5; 20:5:60; 62.5], ["<20"; 20:5:60; ">60"]), xrot = 45)

给出: