2011-12-15 43 views
55

Tôi đang tìm thư viện Java miễn phí để trực quan hóa một số dữ liệu. Tôi muốn làm một cái gì đó tương tự như hai hình ảnh sau đây. Có khả năng nào không? Lần đầu tiên tôi nghĩ về tiền sử dụng, nhưng điều này không được phát triển từ năm 2007. Vì vậy, bất kỳ thư viện nào khác?Thư viện trực quan hóa dữ liệu java miễn phí?

enter image description here

enter image description here

+1

Như một vấn đề của thực tế, Prefuse đã được chuyển đến [github] (https://github.com/prefuse/Prefuse). Bạn có thể muốn có một cái nhìn khác. – edwardw

+0

Nhưng nếu tôi nhìn vào trang chủ, bản phát hành mới nhất là từ năm 2007. – RoflcoptrException

+0

Tôi đã thêm một tiền thưởng khác để tìm câu trả lời cho phần thứ hai của câu hỏi của tôi. Tôi vẫn đang tìm một thư viện thời gian. – RoflcoptrException

Trả lời

9

Hãy thử Protovis, mà dường như là sự kế thừa của Prefuse và có thể là một lựa chọn thay thế tốt. Nó được viết bằng JavaScript, nhưng có sẵn Java Graphical Toolkit.

D3.js là phiên bản kế thừa của Protovis ngay hôm nay. (Được giới thiệu bởi Protovis.)

+3

Tôi đã xem Protovis, nhưng câu này hơi đáng sợ: "Xin lưu ý rằng đây là một mẫu thử nghiệm! Nó không phải là một bộ công cụ sẵn sàng sản xuất và chúng tôi không cung cấp hỗ trợ phần mềm vào thời điểm này. cũng thiếu nhiều thói quen thư viện quen thuộc với người dùng Protovis-Javascript. " – RoflcoptrException

+0

Bạn hoàn toàn đúng. Đây cũng là mối quan tâm của tôi. –

+0

Bản phát hành Protovis 3.3 mới nhất là vào ngày 17 tháng 9 năm 2010. Trạng thái cập nhật mới nhất: 28 tháng 6 năm 2011 - Protovis không còn được phát triển tích cực nữa. Chúng tôi khuyên bạn nên chuyển sang D3.js! –

25

Bạn đã xem nhìn vào GraphViz?

Graphviz (viết tắt của Phần mềm hiển thị đồ thị) là một gói các công cụ nguồn mở được khởi tạo bởi AT & T Labs Nghiên cứu để vẽ đồ thị được chỉ định trong các tập lệnh ngôn ngữ DOT. Nó cũng cung cấp thư viện cho các ứng dụng phần mềm để sử dụng các công cụ. Graphviz là phần mềm miễn phí được cấp phép theo Giấy phép Công cộng Eclipse.

Bạn có thể làm một số công cụ khá mát mẻ với nó:

enter image description here

enter image description here

enter image description here

+0

Tôi đã trao giải thưởng này tiền thưởng. Nhưng tôi sẽ dành một số khác cho phần thứ hai của câu hỏi. Tôi vẫn đang tìm kiếm một thư viện thời gian. – RoflcoptrException

3

Bạn sẽ phải không có nghi ngờ làm rất nhiều tùy biến, nhưng Google Công cụ Chart cung cấp nhiều tính linh hoạt và tùy chọn (http://code.google.com/apis/chart/). Tôi đã không làm bất cứ điều gì liên quan như những hình ảnh mà bạn đã dán ở trên, nhưng thật dễ dàng để thiết lập các biểu đồ khác nhau bằng cách sử dụng API Google Visualization.

Nó có thể là giá trị nó để gửi hình ảnh của bạn vào nhóm Visualization API của Google (http://groups.google.com/group/google-visualization-api?pli=1) để xem có ai đã làm bảng xếp hạng tham gia nhiều hơn như những người bạn đã đề xuất ở trên bằng cách sử dụng API Visualization ...

4

Một cách khác là sử dụng khung công tác JUNG. Nếu bạn đang tìm kiếm thư viện dựa trên trình duyệt/Javascript, hãy kiểm tra three.js

3

Tôi ngạc nhiên vì điều này chưa được liệt kê. Tôi đã từng jFreeChart một khi trở lại: http://www.jfree.org/jfreechart/

+0

làm thế nào để bạn tạo ra các dòng thời gian hoặc đồ thị với điều đó? – RoflcoptrException

9

Đối với phần thời gian, bạn thực sự nên xem xét Google Visualization API trong đó có các mốc thời gian annoted, ...

+0

bạn đã thử cái này chưa? –

+0

Tôi không thể tìm thấy một ví dụ làm thế nào để làm một cái gì đó như tôi cần phải làm – RoflcoptrException

+0

@Roflcoptr đây là một ví dụ về những gì tôi đã đề cập đến: http://code.google.com/apis/chart/interactive/docs/gallery /annotatedtimeline.html –

4

Một thư viện bạn có thể xem xét là JGraph. Nó hoạt động chủ yếu với đồ thị nhưng bạn có thể dễ dàng triển khai tiến trình như một biểu đồ. Dự án có thể được tìm thấy trên GitHub https://github.com/jgraph/jgraphx và đã được cập nhật gần đây.

2

Nếu bạn đang tìm kiếm một thư viện xoay một cách rõ ràng, hãy bỏ qua câu trả lời này! Nhưng trong thế giới web, RaphaëlD3.js là mục yêu thích của tôi. Back-end có thể được thực hiện trong java.

0

Nếu bạn không nhớ sử dụng giải pháp javascript timeglider là những gì bạn cần cho ảnh chụp màn hình thứ hai.

+0

Java! = Javascript – RoflcoptrException

+0

@RoflcoptrException Tôi quan tâm nếu bạn đang phát triển một ứng dụng web hoặc nếu bạn không nhớ sử dụng giải pháp javascript. Tôi đã cập nhật câu trả lời của tôi quá nhưng có vẻ như bạn không thích :) – HRgiger

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