2011-10-20 28 views
5

Tôi thực sự thích littler thực sự tuyệt vời cho kịch bản sử dụng R. Nhưng tôi không làm thế nào để sử dụng thiết bị đồ họa bên ngoài một la gnuplot (ví dụ sử dụng Octave). Tôi có thể tạo ra biểu đồ mong muốn nhưng tôi phải sử dụng Sys.sleep và tôi không muốn làm như vậy, vì tôi muốn tự đóng nó theo cách tương tác hoặc tiếp tục kịch bản mà không cần đóng thiết bị.Thiết bị đồ họa bên ngoài cho littler hoặc Rscript

Cho đến nay đây là những gì mã của tôi trông giống như:

#!/usr/bin/env r -t 


suppressMessages(require(Cairo)) 

CairoX11() 
plot(rnorm(1000), pch = 19) 
Sys.sleep(50) 

# some code without closing the graphics window 

Câu hỏi của tôi là: Bạn có biết một cách để đạt được điều đó?

Bất kỳ gợi ý, tài liệu, liên kết hoặc mã sẽ được đánh giá

Trả lời

2

Bên cạnh đề xuất của John, bạn có thể rõ ràng và gọi một trong các gói GUI để hiển thị 'khung' mới (hoặc 'cửa sổ'), sau đó hiển thị cốt truyện. Điều đó sẽ vẫn còn trên màn hình cho đến khi người dùng (hoặc một sự kiện bên ngoài) chấm dứt cửa sổ đó.

Gói tcltk có thể được sử dụng cùng với gói tkrplot; đây là di động nhất. RGtk2 hiện đại hơn nhưng khó cài đặt/sử dụng hơn trên Windows vì Gtk2 không chính xác là bản địa ở đó. Có nhiều hơn --- tìm kiếm R GUI ở đây và trên những nơi khác trên các intertubes.

+0

Trước hết tôi muốn cảm ơn bạn (và Jeffrey Horner) cho littler nó thực sự hữu ích và cũng dễ sử dụng hơn hơn Rscript (tôi thậm chí làm một số admin hệ thống trong kubuntu của tôi với R bây giờ !!). Bạn đang phải về khung bên ngoài, cho đến nay tôi đã thử tkrplot, giao diện r qt mới (qtbase và qtpaint) và thậm chí gnuplot (thông qua TeachingDemos) và cuối cùng tôi cũng tìm cách giữ đồ họa R của mình mà không sử dụng Sys.sleep (I sử dụng trình định vị thay thế và nhấp chuột phải để tiếp tục tập lệnh). Tôi sẽ cố gắng tìm một giải pháp thanh lịch hơn cho vấn đề. Cảm ơn một lần nữa – dickoa

+0

Niềm vui được giúp đỡ. Nếu bạn có một bản demo ngắn gọn liên quan đến có thể chỉ tcltk và tkrplot, tôi sẽ rất vui khi thêm nó vào gói (và tất nhiên cung cấp cho bạn tín dụng đầy đủ vv). Những gì bạn hỏi ở đây là một vấn đề có liên quan, và chúng ta nên gửi kèm với một giải pháp mẫu. –

+0

Ý tưởng tuyệt vời, tôi sẽ rất vui khi gửi cho bạn một đoạn mã có thể tái sản xuất hoặc đăng nó ở đây khi tôi hoàn thành công việc này. – dickoa

2

Tôi không biết một cách để làm điều đó, vì đây là những cố phi cách -interactive chạy R. Tôi sẽ chỉ chạy của bạn tập lệnh trong phiên R tương tác với par(ask=T). Bằng cách đó nó sẽ tạm dừng cho người dùng giữa các con số, giống như các bản demo trong tài liệu R.

+0

cảm ơn vì đề xuất của bạn..nhưng với mục đích của tôi, tôi không thể sử dụng một phiên R tương tác ... – dickoa

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