Creare trame modificabili da R
Domanda
Sto creando una serie di trame in R (sto usando ggplot2, ma non è essenziale) e voglio essere in grado di salvare la mia uscita in modo da poter poi modificarlo per l'uso furthur, per esempio, potrei desidera spostare leggende circa, o regolare i colori ecc ho visto che ggplot2 ha un comando di salvataggio ma che sembra produrre PDF o bitmap, nessuno dei quali particolarmente modificabile
Come fanno le altre persone fare questo? Qualche buona idea?
Ecco alcuni esempi di codice per produrre una trama campione;
library(ggplot2)
dataframe<-data.frame(fac=factor(c(1:4)),data1=rnorm(400,100,sd=15))
dataframe$data2<-dataframe$data1*c(0.25,0.5,0.75,1)
dataframe
testplot<-qplot(x=fac, y=data2,data=dataframe, colour=fac, geom=c("boxplot", "jitter"))
testplot
Grazie
Paul.
Soluzione 3
Grazie per le risposte, ho suonato in giro con questo, e dopo un po 'di aiuto dal mio amico Google ho trovato il Il Cairo pacchetto, che permette la creazione di file SVG, posso quindi modificare questi in Inkscape .
library(Cairo)
Cairo(600,600,file="testplot.svg",type="svg",bg="transparent",pointsize=8, units="px",dpi=400)
testplot
dev.off()
Cairo(1200,1200,file="testplot12200.png",type="png",bg="transparent",pointsize=12, units="px",dpi=200)
testplot
dev.off()
Ora devo solo giocare con le varie impostazioni per ottenere la mia trama buono come può essere prima di scrivere il file.
Altri suggerimenti
Altri formati modificabili:
Date un'occhiata a help(devices)
per altri formati che sono disponibili:. Questi includono svg
, pictex
e xfig
, che sono tutti modificabili in misura maggiore o minore
Si noti che i file PDF possono essere modificati, per esempio usando lo strumento Omnigraffle
disponibile per OSX di Apple.
Altri modi per registrare i dati trama:
In aggiunta, è possibile registrare i comandi di R per il sottosistema grafico per la ripetizione in un secondo momento - dare un'occhiata a dev.copy
:
Most devices (including all screen devices) have a display list
which records all of the graphics operations that occur in the
device. 'dev.copy' copies graphics contents by copying the display
list from one device to another device. Also, automatic redrawing
of graphics contents following the resizing of a device depends on
the contents of the display list.
Uso rscript di creare una, la trama modificabile ripetibile:
Io di solito prendo una terza strategia, che è quello di copiare la mia sessione R in un file rscript, che posso correre più volte e modificare i comandi di tracciato fino a che non fa quello che voglio:
#!/usr/bin/Rscript
x = 1:10
pdf("myplot.pdf", height=0, width=0, paper="a4")
plot(x)
dev.off();
Con ggplot e lattice, è possibile utilizzare save
per salvare l'oggetto complotto per disco e quindi load
in un secondo momento e modificarlo. Ad esempio:
save(testplot, file = "test-plot.rdata")
# Time passes and you start a new R session
load("test-plot.rdata")
testplot + opts(legend.position = "none")
testplot + geom_point()
tasto destro del mouse sul terreno di uscita Copia come metafile quindi salvare trama in un documento word (tasto destro del mouse per modificare foto per convertire al complotto per Microsoft Office oggetto disegno)