我正在尝试在 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)
Run Code Online (Sandbox Code Playgroud)
理想情况下我想要:
让第一个 bin 包含所有小于 20 的值,最后一个 bin 包含所有大于 60 的值。其他 bin 应如上所述step = 5。
能够给垃圾箱贴上标签,特别是有< 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)
Run Code Online (Sandbox Code Playgroud)
给出: