2008-08-09 30 views
39

Trên một dự án Java gần đây, chúng tôi cần một tiện ích vẽ dữ liệu theo thời gian thực dựa trên Java miễn phí. Sau khi tìm kiếm nhiều, chúng tôi đã tìm thấy công cụ này được gọi là Scientific Graphics Toolkit or SGT từ NOAA. Nó có vẻ khá mạnh mẽ, nhưng chúng tôi phát hiện ra rằng nó không phải là cấu hình khủng khiếp. Hoặc ít nhất là không thể cấu hình đủ để đáp ứng nhu cầu của chúng tôi. Chúng tôi đã đào sâu vào mã Java và đảo ngược kỹ thuật mã và thay đổi nó xung quanh để làm cho công cụ cốt truyện nhìn và hành động theo cách chúng ta muốn nó nhìn và hành động. Tất nhiên, điều này đã giết bất kỳ cơ hội nào cho việc nâng cấp trong tương lai từ NOAA.Có thư viện dữ liệu Java miễn phí phong nha không?

Vì vậy, bạn sử dụng công cụ lập kế hoạch hoặc dữ liệu dựa trên Java miễn phí hoặc giá rẻ nào?

Theo dõi: Cảm ơn đề xuất JFreeChart. Tôi đã kiểm tra trang web của họ và nó trông giống như một biểu đồ dữ liệu rất đẹp và tiện ích vẽ đồ thị. Tôi nên làm rõ trong câu hỏi ban đầu của tôi rằng tôi đang tìm kiếm cụ thể để vẽ dữ liệu thời gian thực. Tôi đã sửa câu hỏi của mình ở trên để làm rõ điều đó. Có vẻ như là JFreeChart support for live data is marginal at best, though. Còn đề xuất nào không?

+0

Tôi đang ở thuyền chính xác cùng .. SGT Cố gắng từ vài lần, thấy nó tốt nhưng không đủ cấu hình .., cũng được đào. Và cũng cần nó cho thời gian thực. Vì câu hỏi của bạn là từ nhiều năm trước, bạn đã tìm thấy bất kỳ điều gì từ trước đến giờ chưa? – user978548

Trả lời

17

Tôi đã thành công khi sử dụng JFreeChart trên nhiều dự án. Đó là rất có thể định cấu hình được. JFreeChart là mã nguồn mở, nhưng chúng tính phí cho số developer guide. Nếu bạn đang làm một cái gì đó đơn giản, mã mẫu có lẽ là đủ tốt. Nếu không, $ 50 cho hướng dẫn phát triển là một món hời khá tốt.

Đối với dữ liệu "thời gian thực", tôi cũng đã sử dụng JFreeChart cho các loại ứng dụng này. Thật không may, tôi đã phải tạo một số mô hình dữ liệu tùy chỉnh với các cơ chế đồng bộ hóa thích hợp để tránh điều kiện chủng tộc. Tuy nhiên, nó không quá khó khăn và JFreeChart vẫn sẽ là lựa chọn đầu tiên của tôi. Tuy nhiên, như các câu hỏi thường gặp gợi ý, JFreeChart có thể không cung cấp cho bạn hiệu suất tốt nhất nếu đó là một mối quan tâm lớn.

+0

JFreeChart đủ tốt để hiển thị dữ liệu theo thời gian thực nếu khoảng thời gian cập nhật biểu đồ của bạn là 1 giây trở lên. –

0

Tôi đã sử dụng JFreeChart (http://www.jfree.org/jfreechart/) cho một dự án trước đó. Nó có một số khả năng tích hợp rất tốt và thiết kế WAY có thể mở rộng, do đó bạn luôn có thể cuộn phần mở rộng của riêng mình sau này nếu bạn cần chú thích biểu đồ tùy chỉnh hoặc muốn trục hiển thị khác hoặc bất kỳ thứ gì. Nó chắc chắn đáng để kiểm tra.

0

Tôi đã sử dụng JFreeChart trong một ứng dụng khá phức tạp cần thiết để trực quan hóa luồng dữ liệu và tính toán dựa trên dữ liệu. Chúng tôi đã triển khai khả năng chỉnh sửa trực quan các ô dữ liệu bằng chuột và có rất nhiều điểm dữ liệu. JFreeChart xử lý nó rất tốt.

Rất tiếc, tôi đã bị kẹt với phiên bản 7.1, nhưng bản phát hành mới nhất sẽ tốt hơn nhiều khi nói đến API rõ ràng. Cộng đồng rất hữu ích và các nhà phát triển cũng đang trả lời thư.

Nếu bạn đang làm một ứng dụng web và không muốn làm phiền với các thư viện, bạn có thể kiểm tra Google Chart API. Không sử dụng nó bản thân mình, nhưng tôi bắt đầu một số xét nghiệm rất hứa hẹn.

0

Kiểm tra ILOG JViews - chúng có nhiều thứ và thứ gì đó có thể phù hợp với nhu cầu của bạn. Tất cả đều cực kỳ cấu hình và khá nhanh. Không miễn phí mặc dù.

0

Đối với âm mưu thời gian thực, bạn có thể sử dụng Lô QN, JOpenChart hoặc ngã ba của nó Openchart2.

0

JHandles là một gói đồ họa thay thế cho Octave (một gói toán học). Nó có lẽ là giá trị xem xét, nhưng được Octave cụ thể có thể không có những gì bạn cần.

-Adam

2

Live Graph hỗ trợ hiển thị trong thời gian thực.

3

Tôi vừa gặp sự cố tương tự (hiển thị dữ liệu cập nhật nhanh cho mục đích kỹ thuật) và tôi đang sử dụng JChart2D. Nó khá nhỏ gọn và có một vài quirks nhưng nó có vẻ khá nhanh: Tôi đang chạy một thử nghiệm tốc độ chuẩn, nơi nó thêm 2331 điểm mỗi giây (333x7 dấu vết) vào một biểu đồ dải và sử dụng 1% của CPU trên 3GHz Pentium 4 của tôi.

+0

Cái này trông rất hứa hẹn với tôi. Tuy nhiên, không có thời gian để thử nó. –

-1

Bạn có thể muốn kiểm tra JMathPlot

+0

Giải thích chi tiết –

1

Plot4j cũng hỗ trợ thời gian thực âm mưu!

2

Tôi đang sử dụng GRAL để vẽ theo thời gian thực. Đó là một thư viện Java của LGPL. Mặc dù nó không phải là mạnh mẽ như JFreeChart nó có một API đẹp hơn. Tôi có một âm mưu lên và chạy trong thời gian rất ngắn. Họ cũng gửi một ví dụ vẽ theo thời gian thực.

0

PtPlot có thể là lựa chọn tốt. Trước đây gọi là Ptolemy.

1

Tôi tìm thấy câu hỏi này khi tôi googling cho các thư viện vẽ mã nguồn mở cho java. Tôi đã không hoàn toàn hài lòng với câu trả lời được đăng ở đây vì vậy tôi đã làm một số nghiên cứu thêm về vấn đề này. Mặc dù câu hỏi này đã được đăng lại vào năm 2008 nhưng điều này vẫn có thể thú vị đối với một người nào đó.

Dưới đây là danh sách các Open Source Charting & Reporting Tools in Java

1

http://autoplot.org/ cho phép cập nhật theo thời gian thực và có thể được sử dụng để tạo ra nhiều loại âm mưu khoa học.

Để cập nhật cốt truyện, chỉ định URL cho tệp dữ liệu và sau đó nối thêm &filePollUpdates=1&tail=100. Xem ví dụ tại http://autoplot.org/cookbook#Loading_Data

0

jcckit có thể xử lý âm mưu thời gian thực. Đó là một con gấu để sử dụng mặc dù.

Tôi đã chia nhỏ nó và tạo một trình bao bọc rất đơn giản xung quanh nó để vẽ không theo thời gian thực. Giao diện phức tạp bên dưới cũng có thể được sử dụng trực tiếp.

https://bitbucket.org/hughperkins/easyjcckit

1

Đồ họa khoa học Waterloo là một dự án LGPL mới. Các đối tượng dữ liệu có thể quan sát được và có thể được cập nhật trong một kịch bản âm mưu thời gian thực. Để biết chi tiết thấy http://waterloo.sourceforge.net/

Một vài ảnh chụp màn hình:

http://waterloo.sourceforge.net/images/AnatomyZ.png

http://waterloo.sourceforge.net/images/contour.png

http://waterloo.sourceforge.net/images/errorbar.png

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