如何在时间序列图的x轴下方标注最大值的横坐标?
解决时间序列图x轴刻度标注重叠问题
要把最大值的横坐标标注移到原有x轴刻度下方,避免重叠,你可以通过调整axis()函数的参数并修改绘图边距来实现,具体操作如下:
具体步骤
- 先调整绘图的底部边距,给新增的标注留出足够空间,用
par()函数修改mar参数(mar的四个值分别对应下、左、上、右的边距) - 在调用
axis()时,指定line参数,这个参数控制刻度标签距离x轴线的行数,数值越大,标签位置越靠下
修改后的示例代码
s=c(1,1.5,2,4,1,1,5,3,5,2,3,5,2,5,2,2,4,2,7,5,2,3,5,2,3,5,2,3,5,2,3,5) # 增大底部边距,确保下方标注能完整显示 par(mar = c(6, 4, 4, 2) + 0.1) plot.ts(s) abline(v=which.max(s), col= "red", lty=2, lwd=1) # line=2表示将标注放在原有刻度下方2行的位置 axis(1, which.max(s), line=2)
额外优化
如果想让新增标注更显眼或和原有刻度区分开,可以添加额外参数,比如让标注加粗、缩小字号:
axis(1, which.max(s), line=2, font=2, cex.axis=0.8)
内容的提问来源于stack exchange,提问作者SALMAN Youssef
相关产品推荐
相关产品推荐

