ggplot()-Grafiken speichern
Mit der Funktion ggsave() speichern Sie eine Grafik aus R auf der Festplatte Ihres Computers. Wenn Sie die Grafik in einem Objekt gespeichert haben, können Sie den Namen des Objekts über das Argument plot in ggsave() angeben. Geben Sie für plot kein Objekt an, speichert ggsave() die zuletzt erzeugte Grafik. In diesem Fall sollte ggsave() direkt nach dem Code der zu speichernden Grafik stehen.
In den folgenden Beispielen speichern wir die jeweils letzte Grafik automatisch in verschiedenen Dateiformaten. Beachten Sie, dass zwischen ggplot() und ggsave() kein + steht.
## Speichert im PNG-Format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.png')
## Speichert im PDF-Format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.pdf')
## Speichert im JPEF-Format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.jpeg')
## Speichert im SVG-Format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.svg')
## Speichert im EPS-Format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.eps')
## Speichert im BMP-Format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.bmp')
## Speichert im TIFF-Format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.tiff')
## Speichert im PS-Format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.ps')
## Speichert im PDF-Format (nur Windows)
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.wmf')Im nächsten Beispiel erzeugen wir mit ggplot() ein Objekt (my_plot) und legen anschließend in ggsave() fest, dass genau dieses Objekt gespeichert werden soll.
my_plot <- ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave(plot="my_plot", filename="my_plot.png")Die Funktion ggsave() besitzt eine Reihe von Argumenten, die sich nach Bedarf anpassen lassen:
| Argument | Funktion |
|---|---|
filename |
File name to create on disk. |
plot |
Plot to save, defaults to last plot displayed. |
device |
Device to use. Can either be a device function, or one of "eps", "ps", "tex" (pictex), "pdf", "jpeg", "tiff", "png", "bmp", "svg" or "wmf" (windows only). |
path |
Path of the directory to save plot to: path and filenameare combined to create the fully qualified file name. Defaults to the working directory. |
scale |
Multiplicative scaling factor. |
width, height, units |
Plot size in units ("in", "cm", "mm", or "px"). If not supplied, uses the size of current graphics device. |
dpi |
Plot resolution. Also accepts a string input: "retina" (320), "print" (300), or "screen" (72). Applies only to raster output types. |
limitsize |
When TRUE (the default), ggsave() will not save images larger than 50x50 inches, to prevent the common error of specifying dimensions in pixels. |
bg |
Background colour. If NULL, uses the plot.background fill value from the plot theme. |
Argumente in ggsave()
Breite und Höhe
Beim Speichern von Grafiken werden Höhe und Breite aus der aktuellen Darstellung in RStudio übernommen. Daher ist es besser, Höhe und Breite in ggsave() explizit anzugeben. Im folgenden Beispiel wird eine Abbildung im PNG-Format mit 1000 Pixeln Höhe und Breite gespeichert.
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.png', height=1000, width=1000, units = "px")Wenn Sie Berichte mit R Markdown erstellen, können Sie Höhe und Breite der Abbildung in den Einstellungen jedes Chunks festlegen. Die folgende Abbildung zeigt, dass wir für Grafiken eine Breite und Höhe von 1000 Pixeln festlegen.

Mit Base R erstellte Grafiken speichern
Grafiken lassen sich durchaus auch mit Base R erstellen. Empfehlenswert ist das nicht, da ggplot2 deutlich besser ist. Es folgt ein Beispiel für eine Grafik in Base R:
plot(100, 200)
Um mit Base R erstellte Grafiken zu speichern, ist folgender Code erforderlich:
png('base-R-graf.png', height=500, width=500)
plot(100, 200)
dev.off()Im obigen Beispiel speichern wir das Bild im PNG-Format. Bevor die Grafik gezeichnet wird, legen wir mit der Funktion png() Dateiname, Höhe und Breite fest. Anschließend wird die Grafik gezeichnet, und in der letzten Zeile (dev.off()) teilen wir mit, dass das Bild fertig ist und gespeichert werden kann.
Um die Abbildung im PDF-Format zu speichern, verwenden Sie stattdessen den folgenden Code. Beachten Sie, dass „png“ sowohl in der Funktion als auch im Dateinamen durch „pdf“ ersetzt wurde:
pdf('base-R-graf.pdf', height=500, width=500)
plot(100, 200)
dev.off()