You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言已获正确区间频数,如何绘制0-10范围的目标直方图?

解决R中自定义区间直方图的绘制问题

你已经精准算出了0-10全范围的区间频数,接下来只需要用这些结果生成完全匹配要求的直方图就行!因为你已经手动处理好了分组逻辑,用barplot()绘制会比原生hist()更可控,完美贴合目标样式。

完整代码示例

# 你的原始计算代码(保留不变)
freq = c(1,3,2,3,5,6,3,2)
score = 2:9
raw = rep(score,freq)
sq = seq(0,10,2)
t = table(cut(raw,breaks=sq))

# 提取频数并自定义区间标签
counts <- as.numeric(t)
# 对应0-2、2-4直到8-10的完整区间标签
interval_labels <- c("0-2", "2-4", "4-6", "6-8", "8-10")

# 绘制符合要求的直方图样式条形图
barplot(counts,
        names.arg = interval_labels,  # 设置x轴的区间显示文本
        space = 0,  # 柱子间无空隙,模拟直方图的紧凑效果
        col = "#5a86e3",  # 可替换成目标图的颜色
        border = "white",  # 去掉柱子边框更美观
        xlab = "Score Range",
        ylab = "Frequency",
        main = "Score Distribution",
        ylim = c(0, max(counts) + 1),  # 顶部预留空间,避免最高柱子顶到图框
        las = 1  # 让y轴标签横向显示,提升可读性
)

关键细节说明

  • 选择barplot()而非hist():hist()是基于原始数据自动分组,容易出现分组偏差;而你已经手动计算了精准的区间频数,barplot()能完全控制每个区间的展示逻辑。
  • space = 0:让柱子紧密排列,和直方图的视觉效果完全一致。
  • 自定义区间标签:确保x轴显示0-10的完整范围,和目标图的区间划分完全对应。
  • 样式自定义:可以根据目标图调整col(填充色)、border(边框)、main(标题)等参数,100%匹配需求。

内容的提问来源于stack exchange,提问作者Senne Verhaegen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:08:09