web-dev-qa-db-fra.com

Création d'une fenêtre de tracé d'une taille particulière

Comment créer une nouvelle fenêtre de tracé R à l'écran avec une largeur et une hauteur particulières (en pixels, etc.)?

52
Ryan R. Rosario

Utilisez dev.new(). (Voir cette question connexe .)

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

Pour être plus précis sur les unités utilisées:

dev.new(width=5, height=4, unit="in")
plot(1:20)
dev.new(width = 550, height = 330, unit = "px")
plot(1:15)
53
Shane

Cela dépendra du périphérique que vous utilisez. Si vous utilisez un périphérique pdf , vous pouvez le faire:

pdf( "mygraph.pdf", width = 11, height = 8 )
plot( x, y )

Vous pouvez ensuite diviser l’espace dans le pdf en utilisant le paramètre mfrow comme ceci:

par( mfrow = c(2,2) )

Cela rend un pdf avec quatre panneaux disponibles pour le traçage. Malheureusement, certains appareils prennent des unités différentes des autres. Par exemple, je pense que X11 utilise des pixels, alors que je suis certain que pdf utilise des pouces. Si vous souhaitez simplement créer plusieurs périphériques et leur tracer des éléments différents, vous pouvez utiliser dev.new (), dev.list () et dev.next ()

Parmi les autres dispositifs pouvant être utiles, citons:

Il y a une liste de tous les périphériques ici

16
James Thompson

Comme la solution acceptée de @Shane n'est pas prise en charge dans RStudio (voir ici ) à partir de maintenant (septembre 2015), j'aimerais ajouter un conseil à la réponse de @James Thompson concernant le flux de travail:

Si vous utilisez SumatraPDF as viewer, vous n'avez pas besoin de fermer le fichier PDF avant de le modifier. Sumatra ne met pas un fichier ouvert en lecture seule et n'empêche donc pas son écrasement. Par conséquent, une fois que vous avez ouvert votre fichier PDF avec Sumatra, les modifications hors de RStudio (ou de tout autre ID R) sont immédiatement affichées dans Sumatra.

7
ToJo

Une fonction pratique pour enregistrer les tracés est ggsave() , qui permet de deviner automatiquement le type de périphérique en fonction de l'extension de fichier et de lisser les différences entre les périphériques. Vous enregistrez avec une certaine taille et des unités comme ceci:

ggsave("mtcars.png", width = 20, height = 20, units = "cm")

Dans R markdown, la taille de la figure peut être spécifiée par chunk :

```{r, fig.width=6, fig.height=4}  
plot(1:5)
```
0
qwr