Spara grafer till hårddisk

Spara ggplot() grafer

Med funktionen ggsave() sparar du en graf från R till din dators hårddisk. Om du sparat grafen i ett objekt kan du ange objektets namn med argumentet plot i ggsave(). Om du inte anger ett objekt för plot så kommer ggsave() spara den senast genererade grafen. Då bör ggsave() placeras direkt efter koden för grafen som skall sparas.

I exemplen nedan sparar vi den senaste grafen automatiskt i olika filformat. Observera att det inte finns ett + mellan ggplot() och ggsave().

## Sparar i PNG-format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.png')

## Sparar i PDF-format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.pdf')

## Sparar i JPEF-format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.jpeg')

## Sparar i SVG-format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.svg')

## Sparar i EPS-format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.eps')

## Sparar i BMP-format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.bmp')

## Sparar i TIFF-format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.tiff')

## Sparar i PS-format
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.ps')

## Sparar i PDF-format (endast Windows)
ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.wmf')

I nästa exempel skapar vi ett objekt (my_plot) från ggplot() och vi specificerar sedan i ggsave() att vi vill spara just det objektet.

my_plot <- ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave(plot="my_plot", filename="my_plot.png")

Funktionen ggsave() har ett antal argument som kan justeras efter behov:

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.

Argument i ggsave()

Bredd och höjd

När du sparar grafer kommer höjden och bredden hämtas från det aktuella utseendet i Rstudio. Därför är det bättre att specificera höjd och bredd i ggsave(). Nedan sparas en figur i png-format med 1000 pixlar höjd och bredd.

ggplot(gapminder, aes(x=pop, y=lifeExp)) + geom_point()
ggsave('Min-figur.png', height=1000, width=1000, units = "px")

Om du använder R Markdown för att generera rapporter kan du specificera figurens höjd och bredd i varje chunks inställningar. På nedanstående bild framgår att vi specificerar att grafer ska ha en bredd och höjd på 1000 pixlar.

R Markdown-chunk med inställningarna fig.width=1000px och fig.height=1000px följd av ggplot- och ggsave-kod

Spara grafer gjorda med base R

Det är fullt möjligt att skapa grafer med base R. Det rekommenderas inte eftersom ggplot2 är avsevärt bättre. Ett exempel på en graf i base R följer:

plot(100, 200)
Enkel graf i base R med en enda punkt vid x 100 och y 200

För att spara grafer gjorda i base R måste följande kod användas:

png('base-R-graf.png', height=500, width=500)
plot(100, 200)
dev.off()

I exemplet ovan sparar vi bilden i png-format. Innan grafen ritas använder vi funktionen png() för att specificera filnamnet, höjd och bredd. Därefter ritas grafen och på sista raden (dev.off()) berättar vi att bilden är färdig och att den kan sparas.

För att spara figuren i PDF-format används istället nedanstående kod. Notera att både "png" i funktionen och filnamnet har bytts ut mot "pdf":

pdf('base-R-graf.pdf', height=500, width=500)
plot(100, 200)
dev.off()