在点阵图形中,我使用 . 在每个绘图框上放置 x 轴刻度和标签scales=list(alternating=3)
。是否有一个参数可以向左/向右(或向上/向下)移动标签?例如,我的 x 轴标签是时间步数。当最后一个(最右边的)标签有超过 3 个字符(例如“1500”)时,最右边的字符会延伸到下一个绘图框,除非我在框之间添加大量空间(我宁愿避免)。我使用刻度的'at'参数在刻度之间保留了大量空间,因此有空间向左移动“1500”,例如将最后一个“0”放在刻度线上。
问问题
703 次
2 回答
1
或者可以简单地使用 scale=list(alternating=3, rot = 30) 或任何适合的角度旋转标签。迪迪埃
于 2012-10-17T22:36:12.967 回答
1
Dieter 和 Didier 的解决方案非常出色。谢谢你。我做了进一步的调查,并提出了第三种解决方案。我意识到 Lattice 大致试图将刻度标签置于刻度线上方/下方。此外,如果你给它一个字符串作为刻度标签,它似乎会按字面意思使用字符串。因此,如果您在字符串末尾添加空格,则会将文本向左移动:
# 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
于 2012-10-19T04:21:45.527 回答