在格子图形中左/右移动标签?

时间:2012-10-17 17:02:01

标签: r lattice

在格子图形中,我使用scales=list(alternating=3)在每个绘图框上放置x轴刻度和标签。是否有一个参数可以左/右移动标签(或者向上/向下移动标签)?例如,我的x轴标签是时间步数。当最后一个(最右边)标签有超过3个字符(例如“1500”)时,最右边的字符会延伸到下一个绘图框,除非我在框之间添加了大量空格(我宁愿避免)。我使用刻度的'at'参数在刻度线之间保持很大的空间,所以有空间可以向左移动“1500”,例如将最后一个“0”放在刻度线上。

2 个答案:

答案 0 :(得分:1)

或者可以简单地用scale = list(alternating = 3,rot = 30)或任何角度拟合来旋转标签。迪迪埃

答案 1 :(得分:1)

Dieter和Didier的解决方案非常出色。谢谢。我做了进一步的调查,并想出了第三个解决方案。我意识到,莱迪思大致试图将刻度标签置于刻度线上方/下方。此外,如果你给它一个字符串作为刻度标签,它似乎会逐字地使用字符串。因此,如果在字符串末尾添加空格,则会将文本移到左侧:

# create some data
df <- rbind(data.frame(x=1:1500, y=rnorm(1500), class="left"),
      data.frame(x=1:1500, y=rnorm(1500), class="right"))

xyplot(y ~ x | class, data=df,
       scales=list( at=c(1,seq(500,1500,by=500)),               # I choose ticks explicitly
                    x=list(labels=c(1,500,1000,"1500     "))))  # spaces push "1500" left