在周期刻度之间放置x轴标签

11

我希望将 x 轴标签放置在刻度之间。

例如,默认情况下 R 生成的图形如下所示: (请注意,我添加了 axis(1,c(2001,2002,2003,2004,2005,2006,2007,2008,2009,2010)),以提供更多的标签年份,否则 R 只使用 2002 2004 2006 2008 2010 作为标签。) 图片描述

但是我想要移动标签,使图表看起来像这样: 图片描述

我尝试寻找资料,但我甚至不知道这叫什么。


1
知道x值是如何存储的会有所帮助。整数?日期?日期时间? - joran
x值被存储为ts()函数。 - OSlOlSO
1个回答

15
你可以使用单独的 axis 函数来偏移标签和刻度。
(下面的示例看起来与您的数据不太相似,但思路是一样的。)
绘制任何图形,但保持坐标轴关闭。
plot(1:10, axes = FALSE)

将标签绘制在半个间距偏移处,并关闭刻度线。 (为了“有趣”,反转数字)。

axis(1, at = (1:10) + 0.5, labels = 10:1, tick = FALSE)

将刻度放回到正常位置,并保持标签关闭。添加一个框来完成任务。

不过需要注意的是,现在标签的指向相对于刻度变得有些模糊,以及刻度的实际位置(不过对于一年的起始和结束来说应该不是问题)。

axis(1, at = (1:10), labels = FALSE, tick = TRUE)
box()

偏移刻度标签

您可以使用 axis(2, ...) 来构建y轴,也可以使用默认值 axis(2)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接