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

时间:2011-09-23 14:51:56

标签: r graph plot

我想将x轴标签放在刻度线之间。

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

但是我想移动标签,使得情节看起来像这样: enter image description here

我试着看,但我甚至都不知道这是做什么的。

1 个答案:

答案 0 :(得分:14)

您可以通过单独调用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()

offset labels from ticks

您可以使用axis(2, ...)以相同的方式构建y轴,或者只使用axis(2)的默认值。