我正在创建许多绘图(每个绘图都作为一个单独的图像),这些绘图都必须具有相同的轴限制。使用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