web-dev-qa-db-de.com

Erstellen eines Plotfensters einer bestimmten Größe

Wie kann ich ein neues R-Plot-Fenster mit einer bestimmten Breite und Höhe (in Pixel usw.) erstellen?

52
Ryan R. Rosario

Verwenden Sie dev.new(). (Siehe diese verwandte Frage .)

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

Um genauer zu sein, welche Einheiten verwendet werden:

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

Dies hängt von dem verwendeten Gerät ab. Wenn Sie ein pdf-Gerät verwenden, können Sie Folgendes tun:

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

Sie können dann das Leerzeichen in der PDF-Datei mit dem Parameter mfrow wie folgt aufteilen:

par( mfrow = c(2,2) )

Damit steht ein PDF mit vier Panels zum Plotten zur Verfügung. Leider benötigen einige Geräte andere Einheiten als andere. Ich denke zum Beispiel, dass X11 Pixel verwendet, während ich sicher bin, dass PDF Zoll verwendet. Wenn Sie einfach mehrere Geräte erstellen und verschiedene Dinge plotten möchten, können Sie dev.new (), dev.list () und dev.next () verwenden. 

Andere Geräte, die nützlich sein könnten, sind:

Es gibt eine Liste aller Geräte hier

16
James Thompson

Da die akzeptierte Lösung von @Shane ab jetzt (September 2015) nicht in RStudio (siehe hier ) unterstützt wird, möchte ich @James Thompson antworten, was den Workflow angeht:

Wenn Sie SumatraPDF als Viewer verwenden, müssen Sie die Datei PDF nicht schließen, bevor Sie Änderungen daran vornehmen. Sumatra setzt eine geöffnete Datei nicht schreibgeschützt und verhindert somit nicht das Überschreiben. Sobald Sie Ihre PDF -Datei mit Sumatra geöffnet haben, werden Änderungen in RStudio (oder einer anderen R IDE) sofort in Sumatra angezeigt.

7
ToJo

Eine praktische Funktion zum Speichern von Diagrammen ist ggsave() , die den Gerätetyp anhand der Dateierweiterung automatisch erraten und Unterschiede zwischen Geräten glätten kann. Sie sparen mit einer bestimmten Größe und Einheiten wie folgt:

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

In R-Abschrift kann Zahlengröße durch Block angegeben werden :

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