Как построить ось Y прямо с правой стороны, не используя команду оси?

Я строю прогнозы в конце временного ряда, поэтому считаю, что удобнее располагать отметки 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)

Любое предложение приветствуется.


person Davide Passaretti    schedule 24.09.2014    source источник
comment
вы можете переключиться на решетку, но, вероятно, это плохой выбор, если ваш долгосрочный план состоит в том, чтобы сэкономить немного времени на наборе текста (для этого требуется около 1000 ?xyplot вызовов в день).   -  person baptiste    schedule 24.09.2014
comment
да, я думал о решетке, но я хотел проверить, есть ли у кого-нибудь более быстрый способ решить эту проблему.   -  person Davide Passaretti    schedule 24.09.2014
comment
вы всегда можете обернуть эти несколько команд в пользовательскую функцию построения графика. Вот где действительно проявляется функциональное программирование.   -  person baptiste    schedule 24.09.2014
comment
Думаю, так и сделаю, спасибо.   -  person Davide Passaretti    schedule 24.09.2014


Ответы (1)


Вы можете просто создать функцию, которая делает то, что вам нравится.

Начните с чего-то вроде этого, а затем настройте его дальше, если вы хотите, например, дополнительный контроль над тем, на какой стороне отображается ось, количеством/размещением отметок оси или чем-то еще:

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")
person Josh O'Brien    schedule 24.09.2014
comment
увидел ваш ответ, когда публиковал свой, несмотря на совпадение, они несколько дополняют друг друга, поэтому пока оставлю свой. - person baptiste; 24.09.2014
comment
@baptiste - И я увидел ваш второй комментарий после того, как опубликовал свой ответ. Я бы оставил вопрос в покое, если бы знал, что вы занимаетесь этим делом ;). - person Josh O'Brien; 24.09.2014
comment
твой лучше и здоровее, я свой удалил - person baptiste; 24.09.2014
comment
@baptiste - Да, я сам только что пришел к такому же выводу. - person Josh O'Brien; 24.09.2014