在 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)
理想情况下我想要:
让第一个 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)
给出:
我正在尝试在 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)
理想情况下我想要:
让第一个 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)
给出: