减少R中xyplot中的刻度线

时间:2014-02-11 19:42:38

标签: r lattice

我试过寻找答案,但没有一个解决方案有效。我用以下代码创建了一个图:

library(lattice)
xyplot(Births.Registered..Number. ~ X, data=CSOStats, scales=list(
y=list(tick.number = 10)))

我已经能够改变y轴的刻度线。我想减少x轴的刻度线数量。 x轴上的日期采用这种格式“1960Q1”,“1960Q2”等。我无法减少图表上的刻度数量,同时保持相应刻度的名称。理想情况下,我每隔5年就能看到一个勾号(每20个滴答),但我无法实现这一点。这是目前图表的图片。

enter image description here

1 个答案:

答案 0 :(得分:1)

tick.number不适用于characterfactor(来自?xyplot):

  

'tick.number'一个整数,给出建议的数字                 刻度之间的间隔。这个因素被忽略了,                 木瓦,或字符向量,在这些情况下有                 遗漏一些标签没有自然规则。

但您可以使用atlabels,例如:

library("lattice")

## example data
df <- data.frame(x=paste0(rep(1960:1999, each=4), paste0("Q", 1:4)), y=1:160)

## calculate position and create labels
x.tick.number <- 10
at <- seq(1, nrow(df), length.out=x.tick.number)
labels <- round(seq(1960, 1999, length.out=x.tick.number))

xyplot(y ~ x, data=df, scales=list(y=list(tick.number=10), 
                                   x=list(at=at, labels=labels, rot=90)))

enter image description here

相关问题