2012-05-14 12 views
19

Có thư viện Canvas nào giống như d3.js (là thư viện svg) hay không. Tôi có một trang web here và tôi mã hóa một biểu đồ với các yếu tố svg tuy nhiên nó không hiệu quả trên các trình duyệt của điện thoại thông minh và hoạt động rất chậm. Tôi bây giờ, muốn thay đổi nó với một loại vải 2d của nó và xem liệu nó là tốt hơn hay không. Bạn có thể đề xuất một thư viện canvas hữu ích cho mục đích này không?Các tùy chọn thay thế canvas HTML5 cho d3.js, thư viện trực quan hóa biểu đồ

Thanks ...

Trả lời

6

Đối với Samsung Olympic Genome Project facebook app, chúng tôi sử dụng http://thejit.org để làm cho lực lượng đạo diễn phim hoạt hình đồ thị kiểu cho ứng dụng. Nó được sửa đổi rất nhiều bởi tôi và những người khác trong nhóm của tôi tất nhiên, và chỉ đóng một phần rất nhỏ trong ứng dụng, nhưng nó là một khuôn khổ khá mạnh mẽ.

+0

tính tương thích như thế nào đối với thư viện này? – dax

23

D3 không nhất thiết là thư viện chỉ svg - svg được sử dụng trong nhiều trường hợp, nhưng thư viện có thể thực hiện bất kỳ loại biểu diễn nào mà bạn muốn thực hiện. Xem ví dụ này tọa độ song song sử dụng vải trong D3, bởi Kai Chang: http://bl.ocks.org/2409451

Cũng thấy ở đây đối với một số thảo luận về các vấn đề hiệu suất, vv, mà có thể hữu ích: https://groups.google.com/d/topic/d3-js/mtlTsGCULVQ/discussion

+0

có so sánh hiệu suất của SVG so với CANVAS không? có vẻ như canvas tốt hơn nhiều nhưng không có nhiều trung tâm canvas để hiển thị dữ liệu như D3 cho svg –

+2

@ V3ss0n: Để so sánh SVG và canvas, hãy xem so sánh được cung cấp trên [OpenLayers website] (http: // trac.osgeo.org/openlayers/wiki/Future/OpenLayersWithCanvas). – amergin

+1

@ V3ss0n: Xem http://citeseerx.ist.psu.edu/viewdoc/download?rep=rep1&type=pdf&doi=10.1.1.141.7632 –

4

Hãy xem Cytoscape.JS trong đó sử dụng một Canvas HTML5 để hiển thị. Tại thời điểm viết nó ở giai đoạn trứng nước nhưng dự án có vẻ đầy hứa hẹn. Theo wiki của nó thư viện hỗ trợ cả máy tính để bàn và các trình duyệt di động:

Cytoscape.js có thể dễ dàng tích hợp vào ứng dụng web của bạn, đặc biệt là kể từ khi Cytoscape.js hỗ trợ cả trình duyệt máy tính để bàn, như Chrome, và điện thoại di động trình duyệt, giống như trên iPad.

+0

Sử dụng tốt các lớp vải khác nhau để tối ưu hóa vẽ lại tương tác của người dùng! Ấn tượng. –

+0

Dude, cảm ơn rất nhiều vì đã đề cập đến điều này. Tôi đã đi qua một đống toàn bộ các thư viện JS ngày nay, bao gồm D3, JIT, Arbor, Sigma và whatnot, và tất cả chúng đều điên rồ (D3) hoặc không linh hoạt (JIT, ...). Điều này có vẻ như nó có thể tiết kiệm trong ngày của tôi. – kralyk

4

Chart.js là thư viện javascript vừa ra mắt tạo biểu đồ bằng cách sử dụng HTML5 để hiển thị. Nó không phải là tính năng bao gồm D3, nhưng nó đang làm việc để trở thành chính xác điều đó trong tương lai. http://www.chartjs.org/