Подтвердить что ты не робот

Метка оси y, выходящая за пределы графического окна?

Я попробовал просто построить некоторые данные в R с меткой оси y по горизонтали и слева от ярлыков меток оси y. Я думал, что код ниже будет работать:

set.seed(1)
n.obs       <- 390
vol.min     <- .20/sqrt(252 * 390)
eps         <- rnorm(n = n.obs, sd = vol.min)
mar.default <- c(5,4,4,2) + 0.1
par(mar = mar.default + c(0, 4, 0, 0))               # add space to LHS of plot
pdf("~/myplot.pdf", width=5.05, height=3.8)
plot(eps,  main  =  "Hello  World!", las=1, ylab="") # suppress the y-axis label
mtext(text="eps", side=2, line=4, las=1)             # add horiz y-axis label
                                                     # 4 lines into the margin

my image

Вместо этого, как вы можете видеть, метка оси y почти полностью упала за пределы графического окна. Это явление все еще существует независимо от того, насколько я расширяю запас LHS.

В: Что я делаю неправильно? Есть ли что-то, что мне нужно сделать с параметром oma? Что мне нужно сделать, чтобы нарисовать вещи так, как я собираюсь? Я немного перегружен всем этим!

4b9b3361

Ответ 1

Это классический вариант, возможно, это должен быть FAQ. Вы должны установить настройки par после вызова pdf, который создает устройство построения графика. В противном случае вы изменяете настройки на устройстве по умолчанию:

set.seed(1)
n.obs       <- 390
vol.min     <- .20/sqrt(252 * 390)
eps         <- rnorm(n = n.obs, sd = vol.min)
              # add space to LHS of plot
pdf("~/myplot.pdf", width=5.05, height=3.8)
mar.default <- c(5,4,4,2) + 0.1
par(mar = mar.default + c(0, 4, 0, 0)) 
plot(eps,  main  =  "Hello  World!", las=1, ylab="") # suppress the y-axis label
mtext(text="eps", side=2, line=4, las=1)   
dev.off()

enter image description here