2010-04-12 69 views
9

Tôi đang xem xét cung cấp một số phương pháp trực quan hóa một lượng lớn dữ liệu. Điều này có thể bao gồm, nhưng sẽ không bị giới hạn, vẽ đồ thị đơn giản. Các kỹ thuật tôi đang khám phá sẽ liên quan đến hình dạng, văn bản và các dòng. Nó cũng sẽ liên quan đến sự tương tác với các yếu tố (ẩn, tập trung, vv) và hoạt ảnh (dịch chuyển, kéo, sắp xếp lại hệ thống, vv) của các yếu tố đó.Các kỹ thuật để trực quan hóa dữ liệu

SVG hoặc Canvas có vẻ giống như các lựa chọn hiển nhiên (kết hợp với thư viện JS - có thể là jQuery), nhưng thiếu tính khả dụng của trình duyệt chéo là một mối quan ngại. Tôi muốn thích để tránh Flash/Flex, nhưng hiện tại, đây là công nghệ duy nhất trên nền tảng tảng đá mà tôi đã tìm thấy nếu hỗ trợ cho IE7/8 là một yêu cầu.

Có ai có bất kỳ đề xuất nào khác hoặc bất kỳ thông tin bổ sung nào sẽ tạo ra công nghệ mà tôi đã liệt kê có vẻ hấp dẫn hơn không?

Cảm ơn.

Trả lời

1

Bạn có thể muốn xem RaphaelGRaphael. Raphael cho phép bạn tạo đồ họa vector và sẽ sử dụng SVG trên các trình duyệt có khả năng SVG trong khi tự động chuyển sang VML trên IE.

Bạn cũng có thể xem qua số processing.js dựa trên canvas.

+0

Cả hai đều nằm trong danh sách. Cảm ơn. –

+0

Tôi nghĩ tôi sẽ bắt đầu với Raphael. Đó là trình duyệt chéo (đọc: nó sẽ hoạt động trong IE) và có vẻ khá mạnh mẽ. –

0

SVG và Canvas hoạt động cho dữ liệu tương đối đơn giản (nghĩa là một vài dòng là đủ). Đối với dữ liệu phức tạp (ví dụ, phân phối tần số, hoặc một cái gì đó mà bạn phát ra một mẫu cho mỗi pixel), bạn nên hiển thị một hình ảnh bình thường trên máy chủ.

+0

Hiện tại, tôi đang cố gắng tránh câu hỏi về hiệu suất (mà tôi giả định là lý do cho đề xuất hiển thị hình ảnh của bạn). Chắc chắn, khi/nếu hiệu suất trở thành một vấn đề, chúng tôi sẽ phải làm một cái gì đó để "cache" đầu ra và có khả năng sẽ tạo ra một hình ảnh và làm đi với độ chính xác thời gian thực. Nếu bạn có một lý do khác trong tâm trí, xin vui lòng xây dựng. –

+0

Như tôi đã nói, nó phụ thuộc vào dữ liệu. Nếu bạn hiển thị hơn 10 nghìn dòng, SVG và Canvas sẽ bắt đầu chậm vì bạn cần phải phân tích cú pháp tài liệu 1MB chỉ dành cho tọa độ trong khi hình ảnh sẽ chỉ cần một vài 100KB. –

1

HighCharts là một công cụ biểu đồ Javascript, tốt, miễn phí và nhiều trình duyệt.

Hãy nhìn vào các Highcharts demo

+0

Nội dung khéo léo, nhưng dường như chỉ hỗ trợ vẽ đồ họa truyền thống. Tôi cần phải hỗ trợ các nhóm đám mây, fractals, vv Những ý tưởng tương tự, nhưng trực quan bên ngoài khuôn mẫu đồ họa truyền thống. –

0

Nếu bạn đang sử dụng jquery cho đồ họa, tôi definiately sẽ kiểm tra Flot đó là như cross trình duyệt đồ họa/biểu đồ thư viện.

1

SVG khả dụng trên mọi thứ trừ IE và VML khả dụng trên IE (kể từ 5.5, IIRC). Nếu bạn có thể phục vụ cả SVG và VML, bạn sẽ có đồ họa vector mà hầu như mọi người đều có thể nhìn thấy. RaphaelJS là một thư viện Javascript có thể tạo cả hai định dạng từ cùng một mã Javascript, nhưng tất nhiên đó chỉ là một cách để làm điều đó.

Canvas cũng có sẵn trên mọi thứ ngoại trừ IE, nhưng một số người điên đã viết một cái gì đó gọi là excanvas mô phỏng Canvas trong, một lần nữa, VML. Từ bạn bè và đồng nghiệp của tôi đã sử dụng nó, tôi đã nghe thấy hiệu suất tồi tệ hơn bất kỳ giải pháp đồ họa trình duyệt nào khác, nhưng nếu bạn muốn làm đồ họa bitmap một cách ổn định, thì đó là trò chơi không có plugin duy nhất trong thị trấn.

Tuyến đường bạn đi - véc tơ hoặc raster - thực sự phụ thuộc vào ứng dụng của bạn.

+0

Mục đích của tôi là đi theo tuyến đường vector. Bởi vì đây là một giải pháp được trồng tại nhà để giải quyết vấn đề gia đình, tôi thực sự muốn tránh việc thực hiện cả SVG & VML, nhưng nếu tôi có thể tìm được một gói tốt ... –

2

Kiểm tra bản gốc Processing.org.

Có vẻ lạ/lỗi thời khi họ đang sử dụng các ứng dụng Java, nhưng họ có thể có hiệu suất tốt hơn với Java hơn JavaScript. Các applet dường như hoạt động ở mọi nơi và bạn sẽ có quyền truy cập vào rất nhiều thư viện Java tuyệt vời.

2

Đừng nghĩ rằng tôi thấy được việc này đề cập: JavaScript InfoViz Toolkit

Một trực quan hấp dẫn Cá nhân tôi thích là treemap view. Tốt cho việc tổng hợp nhiều dữ liệu trong một chế độ xem.

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