web-dev-qa-db-fra.com

Comment changer la taille actuelle de la fenêtre de tracé (en R)

Par exemple. Supposons que je le fasse:

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

Et maintenant je souhaite faire

plot(1:40)

Mais je veux une plus grande fenêtre pour cela.

Je suppose que la façon de le faire serait (en supposant que je ne veux pas ouvrir une nouvelle fenêtre) de faire

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

Ce qui bien sûr ne fonctionne pas.

La seule solution que je vois serait de fermer la fenêtre et d'en démarrer une nouvelle. (Ce qui mettra fin à mon historique de traçage)

Y a-t-il une meilleure façon?

Merci.

17
Tal Galili

Voici ma solution à ceci:

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))
10
Tal Galili

Une solution de contournement pourrait être plutôt que d'utiliser la fonction dev.new () R utiliser cette fonction qui devrait fonctionner sur toute la plate-forme:

 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) } }
13
pmr