R 如何在不使用axis命令的情况下直接在右侧绘制y轴?

R 如何在不使用axis命令的情况下直接在右侧绘制y轴?,r,plot,axes,R,Plot,Axes,我在时间序列的末尾绘制预测图,因此我认为在右边有y记号更方便,因为它们更接近路径的预测部分 有没有办法避免这样做: set.seed(1) x <- 1:10 y <- sample(1:15, 10) par(mar = c(5.1, 2.1, 4.1, 4.1)) plot(x, y, yaxt="n", ylab=NA) axis(4) mtext("my y", 4, line = 2) 欢迎您提出任何建议。您只需构造一个您喜欢的函数即可 从类似的内容开始,然后进一步自

我在时间序列的末尾绘制预测图,因此我认为在右边有y记号更方便,因为它们更接近路径的预测部分

有没有办法避免这样做:

set.seed(1)

x <- 1:10
y <- sample(1:15, 10)

par(mar = c(5.1, 2.1, 4.1, 4.1))
plot(x, y, yaxt="n", ylab=NA)
axis(4)
mtext("my y", 4, line = 2)

欢迎您提出任何建议。

您只需构造一个您喜欢的函数即可

从类似的内容开始,然后进一步自定义它(如果需要),例如,进一步控制轴打印在哪一侧、轴记号的数量/位置或其他:

myPlot <- function(..., yaxt = "n", ylab = NA) {
    plot(x, y, yaxt = "n", ylab = NA)
    axis(4)
    mtext(ylab, 4, line = 2)
}

myPlot(x, y, ylab="my y")

您可以切换到lattice,但如果您的长期计划是节省一些输入,那么这可能是一个糟糕的选择。它每天需要大约1000?xyplot调用。是的,我考虑过lattice,但我想检查是否有人有更快的方法来解决这个问题。您可以始终将这些命令包装到自定义绘图函数中。这就是函数式编程真正发挥作用的地方。我相信我会这样做的,谢谢。我在发布我的答案时看到了你的答案,尽管它们有些重叠,但它们是互补的,所以我现在就离开我的。@baptiste-我在发布我的答案后看到了你的第二条评论。如果我知道你在这个案子上,我就不提这个问题了;。你的更好更健康,我已经搬走了mine@baptiste-是的,我自己也得出了同样的结论。