2009-03-04 42 views
20

Tôi muốn nhúng biểu đồ trong ứng dụng web được phát triển bằng django.Biểu đồ trong các ứng dụng web django

Tôi đã đi qua Google charts API, ReportLab, PyChart, MatPlotLibChartDirector

tôi muốn làm điều đó ở phía máy chủ thay vì gửi yêu cầu AJAX API biểu đồ Google, như tôi cũng muốn nhúng biểu đồ vào PDF.

Lựa chọn nào là tốt nhất để sử dụng và giá trị tương đối cũng như mức độ thiếu của cái kia.

+0

"tốt nhất" có nghĩa là gì trong ngữ cảnh này? Vui lòng xác định một số tiêu chí bạn muốn tối ưu hóa. –

+1

Tính đơn giản của API, Tính thẩm mỹ và khả năng nhúng vào pdf dễ dàng –

+0

Điều đó nói và nếu bạn cho rằng việc nhúng tệp png vào pdf thật dễ dàng, CairoPlot là một lựa chọn tốt. – Rodrigo

Trả lời

7

Một lựa chọn khác là CairoPlot.

Chúng tôi đã chọn matplotlib trên các biểu đồ khác cho một số đồ họa nghiêm trọng bên trong một trong các ứng dụng django của chúng tôi, chủ yếu vì nó là người duy nhất cung cấp cho chúng tôi chính xác loại điều khiển mà chúng tôi cần.

Hiệu suất tạo PNG là tốt cho chúng tôi nhưng ... đó là một ứng dụng chuyên biệt với ít hơn 10 lần đăng nhập mỗi ngày.

+0

Xin chào, tôi là người duy trì CairoPlot. Bạn có thể xác định những gì CairoPlot thiếu cho bạn sử dụng nó? Có lẽ tôi có thể sửa chữa nó để nó trở nên tốt hơn cho các ứng dụng Django. – Rodrigo

+0

@Rodrigo: Nếu tôi nhớ lại với CairoPlot, vấn đề đơn giản là chúng tôi đã không phát hiện ra CairoPlot cho đến khi chúng tôi đã có một số biểu đồ được mã hóa bằng matplotlib. Tôi sẽ kiểm tra với các thành viên trong nhóm của tôi mặc dù để xem nếu có một cái gì đó tôi quên. Dự án của chúng tôi cũng đã được chuẩn bị trước 1.1, do đó có thể là vấn đề. –

+0

@Van Gale: Tuyệt. Nếu bạn cố gắng sử dụng nó ngày nay, bạn nên sử dụng phiên bản thân cây như chúng tôi đã không phát hành 1.2 được nêu ra. – Rodrigo

5

Vâng, tôi tham gia vào một dự án mã nguồn mở, Djime, có sử dụng OpenFlashChart 2.

Như bạn có thể thấy từ our code, tạo dữ liệu JSON mà OFC sử dụng phức tạp một chút, nhưng đầu ra rất đẹp và thân thiện với người dùng, vì bạn có thể thêm chú giải công cụ, v.v ... vào các phần tử khác nhau.

+1

Tôi không thích Flash, vì vậy +1 của tôi là để trỏ đến dự án mà tôi chưa từng thấy trước đây và cho nó trông giống như một dự án nghiêm trọng trái ngược với đồ chơi. Cảm ơn! –

+0

@mikl liên kết dự án là DEAD: | –

0

Tôi đã sử dụng FusionCharts Free với Django.

Dựa trên flash, nguồn mở, đa cấp phép và được ghi lại tài liệu. Đó là ActionScript 1, nhưng phiên bản AS không thực sự là một tiêu chí đối với tôi, mặc dù nó có thể dành cho người khác.

3

Một gói tôi muốn thử là graphite. Đó là một máy chủ/nền tảng đồ họa được xây dựng với Django. Nó đặc biệt dành cho "dữ liệu chuỗi thời gian số" mặc dù, như giá cổ phiếu hoặc sử dụng băng thông. Nếu điều đó phù hợp với nhu cầu của bạn, tôi sẽ kiểm tra xem nó ra. Dưới đây là một số ảnh chụp màn hình:

http://graphite.wikidot.com/screen-shots

1

tôi thích bảng xếp hạng phía khách hàng bởi vì bạn có thể nhận được đầy đủ trang âm mưu.

Một tùy chọn tốt có vẻ là Jquery Flot: http://code.google.com/p/flot/ có thể tải dữ liệu JSON. Tuy nhiên, bạn sẽ không nhận được hỗ trợ pdf.

1

Có lẽ bạn có thể muốn xem ở đây: Django Plotting app. HowTo mô tả cách nhúng các ô matplotlib vào giao diện quản trị và tạo chế độ xem PDF.

+0

Liên kết của bạn đã bị mục nát. – tacaswell

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