我正在创建许多图(每个图作为单独的图像),所有图必须具有相同的轴限制。当使用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.如何准确指定标记的刻度线?
答案 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