R Lattice xyplot中的精确轴记号和标签



我正在创建许多绘图(每个绘图都作为一个单独的图像),这些绘图都必须具有相同的轴限制。使用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.如何准确地指定标记了哪些勾号?

要将勾号和标签放在您想要的位置,您可以按照以下步骤进行操作:

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

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

填充是在格子中控制的。选项带有axs.Padding。看到了吗?lattice.options

最新更新