2011-11-17 2 views
9

stavo facendo la mia trame utilizzandoPiazzole con buona risoluzione per la stampa e lo schermo del

dev.new(width=5.8, height=3) 
par(mfrow=c(1,3),mar=c(1,1,2,1),oma=c(4,1,2,0),mgp=c(3, 0.5, 0)) 
plot(...) 

e affrontare e incollandoli in Microsoft Word. Sembrano davvero buoni in Word (ho provato diverse larghezze fino a quando ne ho trovato uno che funzionava bene) ma quando li ho stampati sembravano terribili. Dopo alcune ricerche sul web ho trovato che la risoluzione per la stampa dovrebbe essere almeno 300ppi. Così, dopo giocherellare con larghezze e altezze per un'eternità sono uscito con il codice che rende le trame sembrano le stesse dimensioni, ma con una migliore risoluzione:

png(file="mag_feb.png",width=1800,height=950,res=300) 

Ora guardare bene in fase di stampa, ma non guardano tagliente affatto in Word (sullo schermo). Potrebbe essere un problema con le dimensioni? Non c'è un modo per fare grafici che sembrano buoni stampati e sullo schermo? Ho già passato ore con questo e non riesco a pensare ad altro da provare, quindi qualsiasi aiuto sarà molto apprezzato!

Grazie!

+4

Non sono sicuro di R in particolare, ma il mio formato preferito per esportare i grafici sarebbe come immagini vettoriali, non raster. PDF e EPS sono in genere buoni formati per questo, come sarebbe SVG se lo supporta – Flexo

+1

È possibile esportare il file Word in PDF per la lettura su schermo. Questo documento porta a brutte immagini nel documento? –

+0

sì, hanno lo stesso aspetto su Word e su un PDF – sbg

risposta

16

C'è un piccolo errore nel comando png originale. Prova questo:

png(file="mag_feb.png", units="in", width=11, height=8.5, res=300) 

Ora, larghezza e altezza sono in pollici e risoluzione è espressa in pixel/pollice. Prima, il parametro res veniva ignorato.

4

Dovresti utilizzare un formato vettoriale, come PDF, per i grafici che stamperai. Se le immagini hanno un bell'aspetto quando stampate ma non in Word, questo è un problema con la funzione di downscaling di Word. Potresti provare a utilizzare il formato Metafile di Windows per ottenere le informazioni in Word.

+0

grazie per aver risposto!Stavo usando la "copia come metafile" inizialmente, ma ho molti grafici in questo documento di parole e ho solo rallentato la parola al punto che si sarebbe bloccata per bit durante lo scorrimento. Succederebbe lo stesso con win.metafile o PDF? Inoltre, come posso ottenere l'immagine dal PDF alla parola? Se utilizzo la "fotocamera" in basso i grafici non sembrano ancora buoni ... – sbg

+2

'win.metafile()' ti darà lo stesso problema. Il tuo ultimo problema è che Word non è progettato per il layout di immagini di alta qualità. Se possibile, sarebbe meglio rimuovere le immagini dal documento di Word e stamparle separatamente. O utilizzare un software di pubblicazione più adatto (LaTeX o Adobe InDesign). –

+2

Se il tuo lavoro non richiede l'uso di Word, passerei sicuramente a Latex. Se puoi usare R, puoi sicuramente usare il lattice. –

3

Come note @awoodland, si desidera esportare grafici in un formato vettoriale.

win.metafile(file="mag_feb.png") # or pdf(), svg(), etc. 
par(mfrow=c(1,3),mar=c(1,1,2,1),oma=c(4,1,2,0),mgp=c(3, 0.5, 0)) 
plot(...) 
dev.off() 
+0

grazie per aver risposto! Stavo usando la "copia come metafile" inizialmente, ma ho molti grafici in questo documento di parole e ho solo rallentato la parola al punto che si sarebbe bloccata per bit durante lo scorrimento. Succederebbe lo stesso con win.metafile o PDF? Inoltre, come posso ottenere l'immagine dal PDF alla parola? Se utilizzo la "fotocamera" in basso i grafici non sembrano ancora buoni ... – sbg

+0

Penso che Word supporti WMF il migliore? Quindi puoi semplicemente importarlo in parole usando il menu Inserisci o qualcosa di simile? –

0

spero che questo non è una risposta in ritardo, ma il mio flusso di lavoro per salvare le immagini ottimali dall'interno R è la seguente:

1) copia il dato direttamente dal dispositivo grafico in un file pdf, utilizzando "dev. copy2pdf ":

dev.copy2pdf("image.pdf", width=8.5, height=11) 

2) usare ImageMagick per convertire il pdf in un high-res png, con questo comando:

convert -density 600 image.pdf image.png 

3) opzionale - anche con ImageMagick, rimuovere tutti i bianchi Confina e lascia solo i contenuti che contano:

convert image.png -trim image_trimmed.png 

Spero che aiuti.