R语言ggplot绘图:如何调整坐标轴范围与刻度间隔?
ggplot双轴范围与刻度间隔调整方案
针对你提到的两个轴调整需求,直接用ggplot2的scale_x_continuous()和scale_y_continuous()函数就能解决,以下是具体修改和完整代码:
问题1:X轴设置整数刻度
通过breaks参数指定要显示的刻度值,两种方案任选其一:
- 方案A:显示1-12所有整数刻度
scale_x_continuous(breaks = 1:12) - 方案B:显示间隔为2的偶数刻度(2、4、6、8、10、12)
scale_x_continuous(breaks = seq(2, 12, by = 2))
问题2:Y轴调整范围与留白
用limits参数设置Y轴的最小和最大值,即可实现0.5-2.0的范围,自动增加上下留白:
scale_y_continuous(limits = c(0.5, 2.0))
完整代码
把上述调整加入你原有的代码即可:
SOH1 %>% ggplot(aes(Test.No., MJ, color = MJ)) + geom_point(size = 3, alpha = 0.7) + geom_smooth(method = lm, se = F) + # 选其中一个X轴方案,注释掉另一个 scale_x_continuous(breaks = 1:12) # 方案A:1-12整数刻度 # scale_x_continuous(breaks = seq(2, 12, by = 2)) # 方案B:间隔2的偶数刻度 scale_y_continuous(limits = c(0.5, 2.0))
注意:如果Test.No.本身是因子类型,需先转成数值型再绘图,比如用as.numeric(as.character(Test.No.))处理数据列。
内容的提问来源于stack exchange,提问作者Julian Perry
相关产品推荐
相关产品推荐

