2014-04-25 23 views
13

Có cách nào để R/RStudio sao chép lô vào khay nhớ tạm với kích thước tùy chỉnh không?Sao chép bản đồ R vào khay nhớ tạm với kích thước tùy chỉnh

RStudio có chức năng này, nhưng bạn phải xác định kích thước mỗi lần và có một số nhấp chuột bổ sung mà tôi chắc chắn là tránh được.

Tôi đã cố gắng hết sức mình với jpeg hoặc khác với file="clipboard" và sau đó - sau khi vẽ - dev.off(). Không có thông báo lỗi, nhưng cũng không có gì trong clipboard.

Dưới đây là một ví dụ:

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

Bất kỳ ý tưởng về cách thức này có thể đạt được?

+1

Tôi chưa có RStudio, vì vậy không thể kiểm tra nó, nhưng bạn sẽ có thể làm một cái gì đó như 'hist (mtcars $ mpg); savePlot ("clipboard", "wmf") 'nhưng điều này không khái quát với các định dạng tệp khác. – Miff

+0

Câu trả lời đúng tùy thuộc vào hệ điều hành cho đến nay chưa được cung cấp. –

+0

ví dụ: trên os x chỉ cần nhấp vào cửa sổ lô và nhấn 'Cmd-C'. Không chắc chắn về Windows. –

Trả lời

10

Cách tốt nhất là có thể điều khiển kích thước trong Rstudio, nhưng như bạn đã tự mình phát hiện ra từ trang web Rstudio, Rstudio không hỗ trợ điều đó. Đoạn mã sau lưu âm mưu của bạn thành wmf. Ngoài ra còn có một cách giải quyết cho một tiết kiệm để bitmap, trong đó bao gồm một số cách kích chuột, nhưng ít nhất bạn không cần phải xác định kích thước nữa:

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 

Thật không may, nó có vẻ là không thể lưu sang định dạng jpg vào khay nhớ tạm. Bạn có thể sao chép nó vào một bitmap bằng cách đi đến cửa sổ này, nhấp vào CTRL-C và biểu đồ ở trên khay nhớ tạm dưới dạng bitmap với 800: 600.

CHỈNH SỬA: Lệnh windows chỉ hoạt động trên Windows.
Đối Mac, nó nên được thay thế bởi: quartz(width=8,height=6,pointsize=12,dpi=100) (chiều rộng/chiều cao tính bằng inch)

Đối linux thử x11(width=8,height=6,pointsize=12,dpi=100) (chưa được kiểm tra).

+0

Đó là "cửa sổ" -approach đã làm các trick! Điều này tránh việc thay đổi kích thước. Cảm ơn RHA đã hỗ trợ! –

+0

Đã xảy ra lỗi 'Lỗi: không thể tìm thấy chức năng "cửa sổ" '. –

+0

@ShretaGhimire sau đó bạn có thể không làm việc trên các cửa sổ, nhưng trên mac hoặc linux. Trên mac, hãy thử 'quartz (width = 800, height = 600, pointsize = 12)', nhưng tôi không thể kiểm tra ngày hôm nay vì tôi không có quyền truy cập vào mac. – RHA

1

Với Windows và RStudio, bạn bấm Xuất, bấm Sao chép Lô đất sang Clipboard và Sao chép Lô.

Sau đó, dán vào Word hoặc PowerPoint hoặc bất kỳ thứ gì.

Không cần thay đổi kích thước trừ khi bạn muốn.

Đây không phải là dòng lệnh, nhưng hầu như không có vẻ nặng nề.

+2

Có, bạn đã đúng. Nhưng điều trong RStudio là cốt truyện sẽ luôn có kích thước của cửa sổ nhỏ "xem trước" của bạn. Điều này được dự định bởi những người sáng tạo của RStudio, bởi vì hầu hết người dùng muốn có một bản sao chính xác của cốt truyện xem trước. Nhưng tôi muốn một xuất khẩu lớn hơn ... và điều này cho dữ liệu mà thay đổi, do đó, một dòng lệnh "sao chép vào clipboard trong 800x600" sẽ là một trợ giúp tuyệt vời ... –

Các vấn đề liên quan