web-dev-qa-db-fra.com

Enregistrer une image haute résolution en R

Je crée un diagramme de dispersion en utilisant ggplot dans R (version R 3.2.1). Je veux enregistrer le graphique sous forme d'image TIFF en 300 DPI afin de le publier dans un journal. Cependant, mon code utilisant ggsave ou tiff () avec dev.off ne semble pas fonctionner et l'enregistre uniquement en 96 DPI. Toute aide serait grandement appréciée !! Voici un exemple de code utilisant les deux méthodes:

library(ggplot2)

x <- 1:100
y <- 1:100

ddata <- data.frame(x,y)

library(ggplot2)

#using ggsave
ggplot(aes(x, y), data = ddata) +
  geom_point() +
  geom_smooth(method=lm, fill = NA, fullrange=TRUE, color = "black")

ggsave("test.tiff", units="in", width=5, height=4, dpi=300, compression = 'lzw')

#using tiff() and dev.off
tiff('test.tiff', units="in", width=5, height=4, res=300, compression = 'lzw')

ggplot(aes(x, y), data = ddata) +
  geom_point() +
  geom_smooth(method=lm, fill = NA, fullrange=TRUE, color = "black")

dev.off()

La sortie est un 96 DPI avec une largeur de 1500 pixels et une hauteur de 1200 pixels.

41
Dana

Vous pouvez faire ce qui suit. Ajoutez votre code ggplot après la première ligne de code et terminez avec dev.off().

tiff("test.tiff", units="in", width=5, height=5, res=300)
# insert ggplot code
dev.off()

res=300 spécifie que vous avez besoin d’un chiffre d’une résolution de 300 dpi. Le fichier image nommé 'test.tiff' est enregistré dans votre répertoire de travail .

Modifiez width et height dans le code ci-dessus en fonction de la sortie souhaitée.

Notez que cela fonctionne également pour les autres graphiques R, notamment plot, image et pheatmap.

Autres formats de fichiers

En plus du format TIFF, vous pouvez facilement utiliser autres formats de fichier image , y compris JPEG, BMP et PNG. Certains de ces formats nécessitent moins de mémoire pour la sauvegarde.

49
milan