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

R语言绘图:如何将X轴刻度替换为自定义分组标签?

解决R折线图X轴标签替换问题

先修正代码拼写错误

你当前代码里的data$Minimium是拼写错误,应该改为data$Minimum。

方法一:手动自定义X轴标签(基础绘图)

先绘制折线图但隐藏默认X轴,再手动添加自定义标签:

# 先构造数据框(如果还没创建)
data <- data.frame(
  Block = c(1,2,3,4,5),
  Breaks = c("1 Mio. - 2 Mio.", "2 Mio. - 3 Mio.", "3 Mio. - 4 Mio.", "4 Mio. - 5 Mio.", "5 Mio. - 6 Mio."),
  Minimum = c(1,2,3,4,5),
  MEAN = c(4,5,4,6,7)
)

# 绘图时关闭默认X轴
plot(data$Minimum, data$MEAN, type = "b",
     xlab = "Size", ylab = "Mean Value",
     main = "Mean Value per Size",
     xaxt = "n")  # xaxt="n" 不绘制默认X轴

# 添加自定义X轴标签
axis(side = 1, at = data$Minimum, labels = data$Breaks, las = 2)
  • side=1 指定操作X轴
  • at 设置刻度位置(对应Minimum的数值)
  • labels 设置要显示的分组标签(Breaks内容)
  • las=2 让标签垂直显示,避免长标签重叠

方法二:使用因子直接指定X轴标签(更简洁)

将Minimum转换为带自定义标签的因子,直接用因子作为X轴绘图:

# 构造数据框
data <- data.frame(
  Block = c(1,2,3,4,5),
  Breaks = c("1 Mio. - 2 Mio.", "2 Mio. - 3 Mio.", "3 Mio. - 4 Mio.", "4 Mio. - 5 Mio.", "5 Mio. - 6 Mio."),
  Minimum = c(1,2,3,4,5),
  MEAN = c(4,5,4,6,7)
)

# 转换为带自定义标签的因子
data$SizeFactor <- factor(data$Minimum, labels = data$Breaks)

# 用因子绘图,X轴直接显示Breaks标签
plot(data$SizeFactor, data$MEAN, type = "b",
     xlab = "Size", ylab = "Mean Value",
     main = "Mean Value per Size")

补充:解决最初用Breaks直接绘图的报错

你之前直接用Breaks作为X轴报错,是因为Breaks是字符型,基础plot函数需要将其转为离散因子处理,直接用以下代码也能实现需求:

plot(factor(data$Breaks), data$MEAN, type = "b",
     xlab = "Size", ylab = "Mean Value",
     main = "Mean Value per Size")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:27:52