Как изменить текущий размер окна графика (в R) - PullRequest
17 голосов
/ 03 марта 2010

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

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

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

plot(1:40)

Но я хочу больше окна для этого.

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

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

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

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

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

Спасибо.

Ответы [ 2 ]

13 голосов
/ 09 марта 2013

Некоторый обходной путь может заключаться в том, чтобы вместо функции 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) } }
9 голосов
/ 03 марта 2010

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

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))
...