2014-04-25 7 views
13

Gibt es eine Möglichkeit, R/RStudio zu veranlassen, ein Plot mit einer benutzerdefinierten Größe in die Zwischenablage zu kopieren?R-Plot in die Zwischenablage kopieren mit benutzerdefinierter Größe

RStudio hat diese Funktion, aber Sie müssen die Größe jedes Mal definieren und es gibt ein zusätzliches Klicken, das sicher vermeidbar ist.

Ich versuchte mein Bestes mit Speichern als JPEG oder sonst mit file="clipboard" und dann - nach dem Plotten - dev.off(). Keine Fehlermeldungen, aber auch nichts in der Zwischenablage. Hier

ein Beispiel:

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() 

Alle Ideen, wie dies erreicht werden kann?

+1

Ich habe kein RStudio, kann es also nicht testen, aber Sie sollten etwas tun können wie 'hist (mtcars $ mpg); savePlot ("Zwischenablage", "wmf") 'aber das verallgemeinert sich nicht auf andere Dateiformate. – Miff

+0

Die richtige Antwort hängt vom Betriebssystem ab, das bisher nicht angeboten wurde. –

+0

z.B. Auf os x klicken Sie einfach auf das Plotfenster und drücken Sie 'Cmd-C'. Ich bin mir nicht sicher über Windows. –

Antwort

10

Der beste Weg wäre, die Größe in Rstudio zu kontrollieren, aber wie Sie selbst von der Rstudio-Website erfahren haben, unterstützt Rstudio das nicht. Der folgende Code speichert Ihr Diagramm in WMF. Es gibt auch eine Abhilfe für eine Speicherung auf Bitmap, die einige Klick beinhaltet, aber zumindest haben Sie nicht die Größe angeben mehr:

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 

Leider scheint es unmöglich zu sein, zu jpg-Format zu speichern in die Zwischenablage. Sie können es in eine Bitmap kopieren, indem Sie in diesem Fenster auf CTRL-C klicken und das Diagramm wird in der Zwischenablage als Bitmap mit 800: 600 angezeigt.

EDIT: Der Befehl windows funktioniert nur unter Windows. (In cm Breite/Höhe!) quartz(width=8,height=6,pointsize=12,dpi=100)

Für Linux x11(width=8,height=6,pointsize=12,dpi=100) (ungetestet) versuchen:
Für Mac, sollte sie ersetzt werden.

+0

Dieser "Windows" -Ansatz hat den Trick! Dies vermeidet die Neuskalierung. Danke RHA für die Unterstützung! –

+0

Der Fehler aufgetreten Fehler: konnte Funktion "Windows" nicht finden. –

+0

@ShretaGhimire Dann arbeiten Sie wahrscheinlich nicht auf Windows, sondern auf Mac oder Linux. Versuchen Sie auf Mac, Quarz (Breite = 800, Höhe = 600, Punktgröße = 12) ', aber ich kann es heute nicht testen, weil ich keinen Zugang zu einem Mac habe. – RHA

1

Mit Windows und RStudio klicken Sie auf Exportieren, klicken Sie auf Diagramm in Zwischenablage kopieren und dann auf Diagramm kopieren.

Dann fügen Sie in Word oder PowerPoint oder was auch immer.

Keine Notwendigkeit, Größen zu ändern, es sei denn, Sie möchten.

Dies ist keine Befehlszeile, aber scheint kaum belastend.

+2

Ja, Sie haben Recht. Aber die Sache in RStudio ist, dass das Plot immer die Dimensionen Ihres kleinen "Vorschau" -Plot-Fensters hat. Dies ist von den Entwicklern von RStudio beabsichtigt, da die meisten Benutzer eine exakte Kopie des Vorschauplots wünschen. Aber ich möchte einen größeren Export ... und dies für Daten, die sich ändern, so dass eine Befehlszeile "in Zwischenablage kopieren in 800x600" wäre eine große Hilfe ... –

Verwandte Themen