2014-04-25 17 views
13

C'è un modo per ottenere R/RStudio per copiare un grafico negli Appunti con una dimensione personalizzata?Copia R trama negli appunti con dimensione personalizzata

RStudio ha questa funzione, ma è necessario definire la dimensione ogni volta e c'è qualche clic in più che sono sicuro è evitabile.

Ho provato a fare del mio meglio con il salvataggio come jpeg o altro con file="clipboard" e poi - dopo la stampa - dev.off(). Nessun messaggio di errore, ma anche niente negli appunti.

Ecco un esempio:

data(mtcars) 
jpeg(file = "clipboard",width = 800, height = 600, units = "px", pointsize = 12, 
    quality = 100, 
    bg = "white", res = NA, family = "", restoreConsole = T) 
hist(mtcars$mpg) 
dev.off() 

Delle idee su come questo può essere realizzato?

+1

Non ho RStudio, quindi non posso testarlo, ma dovresti essere in grado di fare qualcosa come 'hist (mtcars $ mpg); savePlot ("clipboard", "wmf") 'ma questo non generalizza ad altri formati di file. – Miff

+0

La risposta corretta dipende dal sistema operativo che finora non è stato offerto. –

+0

ad es. su os x basta cliccare sulla finestra del grafico e premere 'Cmd-C'. Non sono sicuro di Windows. –

risposta

10

Il modo migliore sarebbe quello di essere in grado di controllare la dimensione in Rstudio, ma come avete scoperto voi stessi dal sito Web Rstudio, Rstudio non lo supporta. Il seguente codice salva la trama in WMF. C'è anche una soluzione alternativa ad un salvataggio a bitmap, che coinvolge alcuni clic, ma almeno non c'è bisogno di specificare la dimensione più:

data(mtcars) 
windows(800, 600, pointsize = 12) #opens a separate window with the size you want 
hist(mtcars$mpg) #draw to this (active) window 
savePlot("clipboard", type="wmf") #saves plot to WMF 

Purtroppo, sembra essere impossibile da salvare in formato jpg negli appunti. È possibile copiarlo in una bitmap andando in questa finestra, fare clic su CTRL-C e il grafico si trova negli Appunti come bitmap con 800: 600.

MODIFICA: Il comando windows funziona solo su Windows.
Per Mac, dovrebbe essere sostituito da: quartz(width=8,height=6,pointsize=12,dpi=100) (larghezza/altezza in centimetri!)

Per linux provare x11(width=8,height=6,pointsize=12,dpi=100) (non testato).

+0

Quel "windows" -approach ha fatto il trucco! Questo evita il riscalaggio. Grazie RHA per il supporto! –

+0

Trovato l'errore 'Errore: impossibile trovare la funzione" windows "'. –

+0

@ShretaGhimire quindi probabilmente non stai lavorando su Windows, ma su Mac o Linux. Su mac, prova 'quartz (width = 800, height = 600, pointsize = 12)', ma non posso testare oggi perché non ho accesso a un mac. – RHA

1

Con Windows e RStudio, fai clic su Esporta, fai clic su Copia traccia negli Appunti e Copia trama.

Quindi, incollare in Word o PowerPoint o qualsiasi altra cosa.

Non è necessario modificare le dimensioni a meno che non si desideri.

Questa non è una riga di comando, ma difficilmente sembra onerosa.

+2

Sì, hai ragione. Ma la cosa in RStudio è che la trama avrà sempre le dimensioni della tua piccola finestra di "anteprima". Questo è inteso dai creatori di RStudio, perché la maggior parte degli utenti vuole una copia esatta della trama di anteprima. Ma voglio un'esportazione più grande ... e questo per i dati che cambiano, quindi una riga di comando "copia negli appunti in 800x600" sarebbe di grande aiuto ... –

Problemi correlati