Поле графика устройства печати pdf: метка по оси y выходит за пределы графического окна

#r #plot

#r #график

Вопрос:

Я попытался просто отобразить некоторые данные в 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
  

мое изображение

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

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

Ответ №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()
  

введите описание изображения здесь

Комментарии:

1. приветствую, чувак. Почему, ЧЕРТ ВОЗЬМИ, этого нет в файле справки par, я не знаю. Какая боль!!