如何在 Lattice 包中将标签添加到 Levelplot 的顶部 X 轴

How to Add Labels to Top X-Axis of Levelplot in Lattice Package

所以我正在使用类似于此的水平图制作类似相关矩阵的图(取自:Plot correlation matrix into a graph):

library(lattice)

#Build the horizontal and vertical axis information
hor <- c("214", "215", "216", "224", "211", "212", "213", "223", "226", "225")
ver <- paste("DM1-", hor, sep="")

#Build the fake correlation matrix
nrowcol <- length(ver)
cor <- matrix(runif(nrowcol*nrowcol, min=0.4), nrow=nrowcol, ncol=nrowcol, dimnames = list(hor, ver))
for (i in 1:nrowcol) cor[i,i] = 1

#Build the plot
rgb.palette <- colorRampPalette(c("blue", "yellow"), space = "rgb")
levelplot(cor, main="stage 12-14 array correlation matrix", xlab="", ylab="", col.regions=rgb.palette(120), cuts=100, at=seq(0,1,0.01))

我想为每个顶部(第二个)x 轴刻度添加标签。有谁知道如何做到这一点?

谢谢,

您可以通过将 scales=list(alternating=3) 添加到 levelplot

的调用中来实现

如果您查找 levelplot 的帮助,您会参考 xyplot(和其他)获得一些信息。在 xyplot 帮助页面中,您可以找到 scales 的描述,其中 alternating。交替控制刻度标签的位置,可以取 4 个值:

  • 0 (none),
  • 1 (bottom/left),
  • 2 (top/right),
  • 3(两者)。

下面是对 levelplot 的调用,它为您提供了各个方面的刻度:

levelplot(cor, main="stage 12-14 array correlation matrix", xlab="", ylab="", col.regions=rgb.palette(120), cuts=100, at=seq(0,1,0.01), scales=list(alternating=3))