Una
rappresentazione grafica dei dati è importante non solo
visualizzarla, ma anche salvarla sotto forma di file per archiviarla
o inserirla in una pubblicazione, in un post o in un sito web.
Tecnicamente vi
sono due modi per salvare un'immagine sotto forma di file:
→ salvarla
in formato raster
(detto anche bitmap);
→ salvarla
in formato vettoriale.
Un'immagine
in formato raster/bitmap è costituita da una matrice di punti (pixel)
opportunamente colorati. Quando viene ingrandita la qualità
dell'immagine peggiora. In compenso è possibile agire sui pixel modificando luminosità, contrasto, saturazione dei colori dell'immagine. Il formato raster/bitmap è tipico della fotografia.
Un'immagine
in formato vettoriale è invece costruita con una tecnica che consente, mediante trasformazioni
matematiche (vettori, onde il nome, e matrici), di ingrandirla senza perdita della qualità.
In questo esempio nel quale i caratteri tipografici sono stati ingranditi di circa sei volte è evidente la perdita di qualità del formato raster/bitmap (a sinistra) rispetto al formato vettoriale (a destra):
Nel primo script viene salvato sotto forma di file nei tre formati grafici raster/bitmap più comuni e cioè
→ .bmp
(Windows
bitmap)
→ .jpeg
(Joint
Photographic Experts Group)
→ .png
(Portable
Network Graphics)
questo grafico a scatola con i baffi (boxplot) che illustra la distribuzione della
concentrazione nel sangue degli eritrociti (globuli rossi) rcc per sport praticato ricavata dal set di dati ais [1]:
Prima di eseguire lo script è necessario creare (se non l'avete ancora fatto) sul vostro PC o notebook la cartella C:\Rdati\ nella quale verranno salvati i tre file, denominati rispettivamente boxplot.bmp, boxplot.jpg e boxplot.png. I dati sono contenuti nella tabella ais del pacchetto DAAG - accertatevi di avere installato il pacchetto o in alternativa procedete come indicato in [1].
Copiate
per intero lo script riportato qui sotto quindi incollatelo nella
Console di R
e premete
↵ Invio:
#
SALVA I GRAFICI SU DISCO SOTTO FORMA DI FILE come immagini in formato
raster (bitmap)
#
library(DAAG)
# carica il pacchetto DAAG che include il set di dati ais
#
#
salva l'immagine in formato .bmp (Windows bitmap)
#
bmp("C:/Rdati/boxplot.bmp",
units
= "px", width =
1000, height = 1000, pointsize = 24, bg = "white")
#
predispone nome e formato del file
boxplot(rcc~sport,
horizontal=FALSE, boxwex = 0.4, cex.axis = 0.8, las = 2, data=ais,
main="Eritrociti per sport praticato", xlab="Sport
praticato", ylab="Eritrociti in 10^12/L", notch=FALSE,
col="yellow") # traccia boxplot
dev.off()
# salva il file
#
#
salva l'immagine in formato .jpeg (Joint Photographic Experts Group)
#
jpeg("C:/Rdati/boxplot.jpg", units = "px", width = 1000, height = 1000, pointsize = 24, bg = "white")
#
predispone nome e formato del file
boxplot(rcc~sport,
horizontal=FALSE, boxwex = 0.4, cex.axis = 0.8, las = 2, data=ais,
main="Eritrociti per sport praticato", xlab="Sport
praticato", ylab="Eritrociti in 10^12/L", notch=FALSE,
col="yellow") # traccia boxplot
dev.off()
# salva il file
#
#
salva l'immagine in formato .png (Portable Network Graphics)
#
png("C:/Rdati/boxplot.png", units = "px", width = 1000, height = 1000, pointsize = 24, bg = "white")
#
predispone nome e formato del file
boxplot(rcc~sport,
horizontal=FALSE, boxwex = 0.4, cex.axis = 0.8, las = 2, data=ais,
main="Eritrociti per sport praticato", xlab="Sport
praticato", ylab="Eritrociti in 10^12/L", notch=FALSE,
col="yellow") # traccia boxplot
dev.off()
# salva il file
#
Gli
argomenti width=1000 e height=1000 specificano larghezza e altezza dell'immagine in pixel. Questa unità
di misura
può essere cambiata con l'argomento units che qui è posto uguale a "px" ma che può essere espresso in alternativa come "in"
(pollici), "cm"
(centimetri) o "mm"
(millimetri).
L'argomento
pointsize = 24 specifica la
dimensione dei caratteri, mentre l'argomento bg
= "white" specifica il colore dello sfondo.
Da
notare che nella rappresentazione del grafico a scatola con i baffi
nella funzione boxplot()
compaiono come argomenti:
→ l'argomento
boxwex = 0.4
che gestisce la larghezza dei boxplot;
→ l'argomento
cex.axis
= 0.8 che gestisce la
dimensione dei caratteri;
→ l'argomento
las = 2
che ruota verticalmente le etichette.
In
questo secondo script lo stesso grafico viene salvato nei formati
vettoriali
→ .pdf
(Portable
Document Format)
→ .ps
(Postscript)
nella cartella C:\Rdati\ nei file denominati rispettivamente boxplot.pdf e boxplot.ps.
Copiate
per intero lo script riportato qui sotto quindi incollatelo nella
Console di R
e premete
↵ Invio:
#
SALVA I GRAFICI SU DISCO SOTTO FORMA DI FILE come immagini in formato
vettoriale
#
library(DAAG)
# carica il pacchetto DAAG che include il set di dati ais
#
#
salva l'immagine in formato .pdf (Portable Document Format)
#
pdf("C:/Rdati/boxplot.pdf",
width = 7, height = 7) #
predispone nome e formato del file
boxplot(rcc~sport,
horizontal=FALSE, boxwex = 0.4, cex.axis = 0.8, las = 2, data=ais,
main="Eritrociti per sport praticato", xlab="Sport
praticato", ylab="Eritrociti in 10^12/L", notch=FALSE,
col="yellow") # traccia boxplot
dev.off()
# salva il file
#
#
salva l'immagine in formato .ps (postscript)
#
postscript("C:/Rdati/boxplot.ps",
width = 7, height = 7) #
predispone nome e formato del file
boxplot(rcc~sport,
horizontal=FALSE, boxwex = 0.4, cex.axis = 0.8, las = 2, data=ais,
main="Eritrociti per sport praticato", xlab="Sport
praticato", ylab="Eritrociti in 10^12/L", notch=FALSE,
col="yellow") # traccia boxplot
dev.off()
# salva il file
#
Da
notare che i formati .pdf e
.ps in quanto formati
vettoriali prevedono che le dimensioni dell'immagine (width = 7, height = 7) siano espresse in
pollici (non avrebbe senso esprimerle in pixel). Inoltre quando estraete dal file
.ps il file
boxplot.pdf il file
preesistente con lo stesso nome generato dalla funzione pdf() verrà sovrascritto.
In
entrambi gli script la funzione dev(off)
salva il file e chiude il dispositivo (virtuale) che ha generato la
stampa, e a questo punto il dispositivo al quale sono inviati i
grafici torna ad essere la finestra che viene aperta con la funzione
windows() sul monitor/schermo del
PC o notebook.
----------
[1] Vedere il post Il set di dati ais nel quale trovate anche come caricare i dati della tabella senza impiegare il pacchetto DAAG.
Nessun commento:
Posta un commento