如何用Julia Plotly后端生成0到最大值的整数分箱直方图并显示全X轴刻度
解决方案
要实现从0到数据最大值的整数分箱并显示对应X轴刻度,你需要明确分箱边界的生成逻辑,同时强制指定X轴刻度。以下是修改后的代码:
using Plots plotly() # 生成随机年龄数据 age = 100 * rand(1000, 1) # 计算数据的最大整数值上限(确保覆盖所有可能的整数分箱) max_age = ceil(Int, maximum(age)) # 生成从0到max_age的连续整数分箱边界 bins = 0:max_age # 绘制直方图,指定分箱并设置X轴刻度 histogram(age, bins=bins, xticks=0:max_age, xlabel="年龄", ylabel="频数", title="年龄分布直方图")
关键细节说明
- 分箱逻辑:
bins=0:max_age会生成[0,1)、[1,2)…[max_age-1, max_age]的整数区间分箱,完全覆盖从0到数据最大值的范围。 - 刻度显示:
xticks=0:max_age强制显示所有整数刻度,避免Plotly自动隐藏部分刻度的默认行为。 - 数据适配:
ceil(Int, maximum(age))处理了数据最大值非整数的情况,确保最后一个整数分箱能包含所有数据点。
如果希望每个整数作为分箱中心(闭区间对齐),可以调整分箱边界为半整数偏移:
histogram(age, bins=0.5:1:(max_age+0.5), xticks=0:max_age, xlabel="年龄", ylabel="频数", title="年龄分布直方图")
内容的提问来源于stack exchange,提问作者BAR
相关产品推荐
相关产品推荐

