如何在R语言直方图中设置特定区间及起始值?
如何在ggplot中固定直方图的分箱起始值和区间
要实现从x=28开始、箱宽为4的分箱,有两种简洁的方法:
方法1:使用boundary参数(推荐)
这个参数可以直接指定分箱的起始边界,配合binwidth=4就能自动生成符合要求的分箱区间:
crushing_strength <- c(40,37.9,29,31.7,39.3,40.7,42.7,40,50.3, 33.8,39.3,42.1,45.5,41.4,47.6,38.6,35.9, 41.4,44.1,40,40.7,42.1,38.6,36.5,40.7) test_no <- seq(1:25) data_example <- data.frame(test_no,crushing_strength) ggplot(data_example, aes(x = crushing_strength))+ geom_histogram(binwidth=4, boundary=28, fill="steelblue", color="black")+ scale_x_continuous(breaks=seq(28, 52, 4))
boundary=28:强制分箱从28开始,后续按binwidth=4的间隔划分(28-32、32-36...)scale_x_continuous(breaks=seq(28, 52, 4)):让x轴刻度和分箱区间对齐,提升可读性fill和color参数用于美化直方图,可根据需求调整
方法2:手动定义分箱端点
如果需要完全控制所有分箱范围,可以直接用breaks参数指定所有分箱的端点序列:
ggplot(data_example, aes(x = crushing_strength))+ geom_histogram(breaks=seq(28, 52, 4), fill="steelblue", color="black")+ scale_x_continuous(breaks=seq(28, 52, 4))
seq(28,52,4)生成从28到52、步长为4的序列,正好覆盖数据中的最大值(50.3)- 这种方法适合需要精确指定分箱数量或端点的场景
内容的提问来源于stack exchange,提问作者Omar
相关产品推荐
相关产品推荐

