轴在右侧(和底部)的单面板格子图

Single panel lattice plot with axis on the right (and bottom)

看起来这应该是一件简单的事情,但我没有找到解决方案。我想要一个基本的单格图,在右边(和底部)而不是左边(和底部)有轴标签。有很多涉及多个面板的解决方案,但我正在处理一个面板。似乎这必须调用 panel.axis 但我的尝试导致错误,或者没有投诉,但情节没有改变。

library("lattice")
set.seed(123)
DF <- data.frame(x = runif(5), y = runif(5))

xyplot(y ~ x, data = DF) # default is axes labeled on left and bottom

我似乎找不到更直接的方法来执行此操作,但您可以创建一个自定义 axis 函数来控制值的放置位置。这是一个例子

myaxis <- function(side, labels="default", ticks="default", ...) {
  default <- lattice.getOption("default.args")$axis
  if(side %in% c("right","bottom")) {
    default(side=side, labels="yes", ticks="yes", ...)
  } else {
    default(side=side, labels="no", ticks="yes", ...)
  }
}

那你就这样用吧

xyplot(y ~ x, data = DF, axis=myaxis)

得到