我试过寻找答案,但没有一个解决方案有效。我用以下代码创建了一个图:
library(lattice)
xyplot(Births.Registered..Number. ~ X, data=CSOStats, scales=list(
y=list(tick.number = 10)))
我已经能够改变y轴的刻度线。我想减少x轴的刻度线数量。 x轴上的日期采用这种格式“1960Q1”,“1960Q2”等。我无法减少图表上的刻度数量,同时保持相应刻度的名称。理想情况下,我每隔5年就能看到一个勾号(每20个滴答),但我无法实现这一点。这是目前图表的图片。
答案 0 :(得分:1)
tick.number
不适用于character
或factor
(来自?xyplot
):
'tick.number'一个整数,给出建议的数字 刻度之间的间隔。这个因素被忽略了, 木瓦,或字符向量,在这些情况下有 遗漏一些标签没有自然规则。
但您可以使用at
和labels
,例如:
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)))