Как изменить размер текущего окна графика (в R)

например. Предположим, я делаю:

dev.new(width=5, height=4)
plot(1:20)

а теперь я хочу сделать

plot(1:40)

но я хочу, чтобы окно было больше.

Я бы предположил, что способ сделать это будет (предполагая, что я не хочу открывать новое окно), чтобы сделать

plot(1:40, width=10, height=4)

что, конечно, не работает.

единственное решение, которое я вижу, это отключить окно и начать новый. (Что положит конец моей истории заговора)

есть ли лучший способ ?

спасибо.

2 ответов


некоторые обходные пути могут быть вместо использования dev.функция new () R используйте эту функцию, которая должна работать на платформе:

 dev.new <- function(width = 7, height = 7) 
 { platform <- sessionInfo()$platform if (grepl("linux",platform)) 
 { x11(width=width, height=height) } 
 else if (grepl("pc",platform)) 
 { windows(width=width, height=height) } 
 else if (grepl("apple", platform)) 
 { quartz(width=width, height=height) } }

вот мое решение для этого:

resize.win <- function(Width=6, Height=6)
{
        # works for windows
    dev.off(); # dev.new(width=6, height=6)
    windows(record=TRUE, width=Width, height=Height)
}
resize.win(5,5)
plot(rnorm(100))
resize.win(10,10)
plot(rnorm(100))