10

我正在创建许多图(每个图都作为单独的图像),它们都必须具有相同的轴限制。使用 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. 你怎么能准确地指定哪些刻度线被标记?

4

2 回答 2

20

要将刻度线和标签放在您想要的位置,您可以执行以下操作:

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

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

于 2013-07-11T03:53:25.557 回答
1

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

于 2016-04-21T11:47:22.243 回答