2013-07-11 49 views
8

我创建了许多图(每个图都是独立的图),所有图必须具有相同的轴限制。在使用ylim时,刻度标记在极端边缘处处于不利位置,对于极端值则省略刻度标记。R中的精确轴刻度和标签Lattice xyplot

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) )。 Tick标签在极端情况下丢失。此外,绘图矩形中的极限刻度线没有垂直填充。

有没有办法指定ylim并且仍然有刻度标记和标签出现类似于情况1?

更一般地说,当指定ylim时:
1.您如何指定每个刻度标记的确切位置?
2.您如何指定确切的刻度标记?

+1

'xyplot'通常会填充x和y限制,以便在x的范围之上和之下扩展4%。 –

回答

13

为了让您的刻度标记和标签,你想要的,你可以做线沿线的东西:

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

的填充问题,我不知道如何解决,除了手动调整ylim=参数。

1

使用axis.padding在lattice.options中控制填充。 See?lattice.options

+0

在评论中提出你的简短回答 – Damirchi

+0

对不起,我还没有50的声望。尝试 – Irenabyss

+1

@Dirirchi尽管评论很短,但在评论中提供答案并不是好习惯。 – Ajean