2011-10-20 39 views
5

Tôi rất mới với R, vì vậy xin vui lòng tha thứ cho tôi nếu đây là một câu hỏi rất cơ bản.Làm thế nào để vẽ đồ thị bằng cách sử dụng R, Java và JRI?

Tôi đã viết một tập lệnh R, thực hiện một số phép tính và tại ô cuối Lô Ô. Nếu tôi chạy kịch bản này từ bảng điều khiển R, nó chạy tốt và đồ thị được vẽ.

Nếu tôi chạy tập lệnh từ chương trình Java (chương trình rtest.java mẫu được đưa ra trên trang web JRI), các tính toán được thực hiện tốt. Nhưng có một số vấn đề với âm mưu đồ thị. Cửa sổ khung mở ra và vẫn bận và bị treo. (Nếu tôi cố bấm vào cửa sổ, nó sẽ hiển thị 'Not Responding'.) Tôi đang sử dụng JRI.

Đây là cách tôi đang âm mưu đồ thị trong kịch bản:

boxplot(mat); 

Trên lệnh hoạt động tốt trên R-console.

Tôi khá chắc chắn rằng đây là về một số nhập/gói hoặc một số cài đặt tương tự. Nhưng không thể tìm ra chính xác nó là gì.

Có ai có thể giúp tôi với điều này không?

Cảm ơn.

EDIT 1: Sản lượng lệnh hộp âm mưu của tôi:

enter image description here

Sản lượng this code vào liên kết được cung cấp bởi John:

enter image description here

Trả lời

4

Đây là làm thế nào tôi đã làm nó: Pastebin link. Về cơ bản, bạn cần phải nói với gói R JavaGD rằng bạn có sẵn một khung JFrame khi các ô R có thể được hiển thị.

Ví dụ trong câu trả lời của @ John Colby chỉ lưu trữ cốt truyện dưới dạng tệp và sau đó hiển thị nó trong Java - cũng là một tùy chọn, nhưng một cách hơi gián tiếp để làm điều đó.

(Thật không may cho bạn mã của tôi là trong Scala, nhưng vì nó khá giống với Java (tôi đã dịch từ Java), tôi hy vọng bạn sẽ có thể dịch nó trở lại Tôi đã sử dụng một số ví dụ JRI làm cơ sở cho nó và nó chỉ sử dụng các lớp java.)

+0

Cảm ơn bạn đã trả lời ROLO. Bạn có mã Java ban đầu không? hoặc biết nơi tôi có thể tìm thấy nó? – Bhushan

+0

[This] (http://www.wojtek.njh6.de/Ddocs/Djri/jri.html) sẽ giúp bạn bắt đầu. Nếu tôi hiểu chính xác từ rất nhanh chóng quét qua nó, điều duy nhất bạn phải thực thi là các lệnh R 'thư viện (JavaGD); JavaGD() 'trước khi bạn bắt đầu vẽ đồ thị (nghĩa là không cần lập trình java nữa). – ROLO

+0

Nếu câu hỏi là về Java, câu trả lời cũng phải ở trên ngôn ngữ đó. Với R 3 và Java 8 mã bạn liên kết không hoạt động. Và tôi không có ý tưởng nếu nó là một vấn đề với chính mã hoặc cái gì khác. –

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