R Lattice xyplot中的精确轴刻度和标签

时间:2013-07-11 02:50:48

标签: r lattice axis-labels

我正在创建许多图(每个图作为单独的图像),所有图必须具有相同的轴限制。当使用ylim时,刻度标记位于极端边缘处,并且对于极值而省略刻度标签。

library(lattice)
x=1:100
y=10+20*(runif(100))
xyplot(y~x)                 # Case 1 - automatic ylim
xyplot(y~x, ylim=c(10,20))  # Case 2 - specified ylim

在案例1中,轴刻度和标签在(y = 10,15,20,25,30)处自动生成。标记了所有刻度线,并且绘图矩形中的极端刻度线(y = 10和y = 30)有一些垂直填充。

在案例2中,当我指定ylim值时,刻度标记在(y = 10,12,14,16,18,20)生成,但标签仅出现(y = 12,14,16,18) 。勾选标签在极端情况下缺失。此外,绘图矩形中的极端刻度标记没有垂直填充。

有没有办法指定ylim并且仍然有类似于案例1的刻度线和标签?

更一般地说,在指定ylim时:
1.你怎么能准确指出每个刻度标记的位置?
2.如何准确指定标记的刻度线?

2 个答案:

答案 0 :(得分:15)

要获得所需的刻度线和标签,您可以执行以下操作:

xyplot(
  y~x,
  ylim=c(10,20),
  scales=list(
    y=list(
      at=seq(10,20,2),
      labels=c("a","","b","","c","") )
    )
)  

填充问题,除了手动调整ylim=参数外,我不确定如何解决。

答案 1 :(得分:1)

使用axis.padding在lattice.options中控制填充。请参阅?lattice.options