将数字刻度更改为levelplot上的字母

Sir*_*lem 2 r lattice

我正在研究我的情节的一些细节,我发现了一个我无法解决的问题.在我的levelplot上是数字标记.现在我想将y轴上的刻度线更改为相应的字母.(即1 = A,5 = E,27 = AA,29 = AC,......)

我已经习惯了

scales=list(
    y=list(alternating=3,labels=toupper(c(letters[1],letters[5],letters[10],letters[15])))))
Run Code Online (Sandbox Code Playgroud)

但我希望它们根据Y轴上的内容而改变,而不是根据我给出的值.有人可以帮我这个吗?

levelplot(volcano,main="levelplot(volcano)")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Mar*_*rek 7

不是一般解决方案 用于自我pretty计算at.

y_at <- pretty(seq_len(ncol(volcano)))
y_labels <- c(LETTERS, outer(LETTERS, LETTERS, paste, sep=""))
levelplot(
    volcano, main="levelplot(volcano)",
    scales=list(y=list(
        alternating=3,
        labels=y_labels[round(y_at)],
        at=y_at
    ))
)
Run Code Online (Sandbox Code Playgroud)

格子级别图改变y轴