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

R绘图中数字10、15、20、25无法显示,循环逻辑问题排查

问题分析与解决

问题原因

当i为5的倍数(10、15、20、25)时,你写的i - 0.5会得到9.5、14.5、19.5、24.5,这些x坐标远超出了plot.window设置的xlim = c(0,5)范围,导致数字被绘制在可视区域外,自然看不到。

修正代码

plot.new()
plot.window(xlim = c(0, 5), ylim = c(0, 5), asp = 1)
# 绘制网格线
for (r in 0:5){
  segments(x0 = 0, y0 = r, x1 = 5, y1 = r)
}
for (c in 0:5){
  segments(x0 = c, y0 = 0, x1 = c, y1 = 5)
}
# 放置数字
for (i in 1:25){
  # 计算列位置:5的倍数对应第5列,否则取余数
  col_pos <- ifelse(i %% 5 == 0, 5, i %% 5)
  # 计算行位置:5的倍数时行数为i/5,否则为整数除法结果+1
  row_pos <- ifelse(i %% 5 == 0, i / 5, i %/% 5 + 1)
  # 偏移0.5让数字居中显示在单元格内
  text(col_pos - 0.5, row_pos - 0.5, labels = as.character(i))
}

代码说明

  • 列位置:针对5的倍数直接指定第5列,避免了原代码中超出绘图范围的错误计算。
  • 行位置:统一逻辑,确保每个数字对应正确的行(比如i=5对应第1行,i=10对应第2行),偏移0.5实现单元格内居中效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:45:35