Cách ưa thích của bạn để tạo biểu đồ trong ứng dụng web Ruby on Rails là gì?


76

Tôi muốn thêm một số biểu đồ hình tròn, thanh và phân tán vào ứng dụng web Ruby on Rails của mình. Tôi muốn chúng hấp dẫn, dễ bổ sung và không giới thiệu nhiều chi phí.

Bạn sẽ đề xuất giải pháp biểu đồ nào?
Hạn chế của nó là gì (yêu cầu Javascript, Flash, đắt tiền, v.v.)?


Cuối cùng, tôi đã triển khai biểu đồ google, nhưng bây giờ tôi đang chuyển sang Google Visualization.
RichH

Bây giờ tôi đã chuyển sang D3 vào năm 2013
RichH

highcharts là một thư viện lớn
hsgubert

Câu trả lời:


59

Google Charts là một lựa chọn tuyệt vời nếu bạn không muốn sử dụng Flash. Nó khá dễ sử dụng, nhưng đối với Rails, nó thậm chí còn dễ dàng hơn với gchartrb gem. Một ví dụ:

GoogleChart::PieChart.new('320x200', "Things I Like To Eat", false) do |pc| 
  pc.data "Broccoli", 30
  pc.data "Pizza", 20
  pc.data "PB&J", 40 
  pc.data "Turnips", 10 
  puts pc.to_url 
end

Tôi đã quyết định sử dụng Google Charts và gchartrb để bắt đầu. Nó đơn giản và nhanh chóng - tôi có thể chuyển sang thứ gì đó phức tạp hơn khi cần.
RichH

1
Kể từ đó, tôi thấy Google Charts có một chút khó khăn vì các nhãn hình tròn thường tràn ra các bên của biểu đồ và chúng không đẹp. Tôi đang chuyển sang Google Visualizations trông đẹp hơn rất nhiều cho đến nay, nhưng dựa trên Javascript.
RichH

4
Bạn đặt mã này ở đâu? Trên bộ điều khiển? Làm thế nào để bạn hiển thị nó?
B Bảy

15

Nếu bạn không cần hình ảnh và có thể giải quyết việc yêu cầu JavaScript, bạn có thể thử một giải pháp phía máy khách như flot plugin jQuery .



8

yêu cầu flash và không miễn phí (mặc dù không tốn kém): amcharts .

Tôi đã sử dụng nó thành công và thích nó. Tôi đã đánh giá một số tùy chọn một thời gian và chọn nó. Tuy nhiên, vào thời điểm đó, Google Charts chưa hoàn thiện như bây giờ. Tôi sẽ xem xét điều đó đầu tiên nếu bây giờ tôi đánh giá lại.


7

Ngoài ra còn có Scruffy . Tôi đã xem mã gần đây và nó có vẻ dễ dàng sửa đổi / mở rộng. Nó tạo ra svg và (bằng cách chuyển đổi) png.


6

Bạn đã thử API Google Charts chưa? - API dịch vụ web không thực sự đơn giản hơn nhiều. Nó miễn phí để sử dụng, đơn giản để triển khai và các biểu đồ trông không quá kém.



6

Tôi lần thứ 2 bỏ phiếu cho flot . Phiên bản mới nhất cho phép bạn thực hiện một số hoạt ảnh và hành động mà trước đây tôi nghĩ chỉ có thể thực hiện được qua Flash. Các tài liệu là tuyệt vời. Nó đơn giản để viết bằng tay, nhưng đối với những trường hợp đơn giản, nó thậm chí còn dễ dàng hơn với một plugin Rails có tên là flotilla . Bạn nên xem trang ví dụ để biết rõ hơn về khả năng của nó. Khả năng phóng to và di chuột đặc biệt ấn tượng.




3

Tôi vừa tìm thấy ZiYa tạo ra một số biểu đồ thực sự quyến rũ và dành riêng cho Rails.

Nhược điểm là nó sử dụng Flash và nếu bạn không muốn các trang web liên kết đến trang XML / SWF thì chi phí $ 50 cho mỗi trang web.

[Tôi vẫn chưa quyết định nó, nhưng muốn ném nó ra khỏi đó trong trường hợp mọi người muốn bỏ phiếu]


Gruff Graphs không yêu cầu flash, là đường ray cụ thể và miễn phí.
lordscarlet 17/09/08

Ngoài ra, nó trông giống như Ziya chỉ là đem lại cho bạn phương pháp dễ thực hiện maani.us/xml_charts/index.php?menu=Gallery
lordscarlet

Bạn nói đúng lordscarlet ZiYa chỉ là một trình bao bọc RoR cho các biểu đồ XML / SWF, nhưng điều đó có thể khá hữu ích. Giấy phép dành cho XML / SWF - bạn nhận được ZiYa miễn phí.
RichH

Điểm tốt. Tôi đã sử dụng XML / SWF và tôi rất thích chức năng này. Ưu điểm của nó liên quan đến chức năng flash, nhưng nhược điểm là nó là flash. Hình ảnh linh hoạt hơn một chút.
lordscarlet 18/09/08

3

Tôi đã sử dụng Fusion Charts rộng rãi từ bên trong một ứng dụng web Java, nhưng nó sẽ hoạt động theo cùng một cách với Rails vì bạn chỉ cần nhúng một Flash qua HTML hoặc JavaScript và chuyển nó dữ liệu XML. Đó là một gói mềm và hỗ trợ của họ luôn rất nhạy.



2

Biểu đồ của Google rất hay, nhưng nó không phải là giải pháp duy nhất. Bạn chỉ cần sử dụng ngôn ngữ lập trình mà bạn chọn để tạo động các url chứa dữ liệu và google trả lại cho bạn một hình ảnh đẹp với biểu đồ của bạn.

http://code.google.com/apis/chart/


2

Ngày xưa, tôi quyết định tự mình lăn lộn (sử dụng RVG / RMagick), chủ yếu là vì Gruff không có mọi thứ tôi muốn. Nhược điểm là việc tìm kiếm và loại bỏ tất cả các lỗi trong mã vẽ đồ thị là một điều khó khăn. Ngày nay, Gruff là sự lựa chọn của tôi vì nó thực sự tiến bộ về khả năng tùy biến và tính linh hoạt.

Mặc dù vậy, các mẫu / lựa chọn màu sắc tiêu chuẩn của Gruff rất tệ, vì vậy bạn sẽ cần phải làm bẩn tay để có kết quả tốt nhất.


2

Về amcharts , có một phiên bản "miễn phí" với một vài hạn chế tạo ra các biểu đồ Flash bao gồm đề cập đến 'chart by amCharts.com'.

Và có một plugin hay, ambling , cung cấp cho bạn một số phương pháp trợ giúp để dễ dàng thêm biểu đồ vào chế độ xem của bạn. Xin lưu ý rằng tài liệu tham khảo của amCharts.com vẫn là điều bắt buộc để điều chỉnh biểu đồ theo yêu cầu của bạn.


2

Biểu đồ GoogleCharts và Gruff rất tuyệt, nhưng đôi khi chúng thiếu một số tính năng mà tôi cần để lập biểu đồ khoa học hơn. Có một viên ngọc cho gnuplot có thể hữu ích cho một số trường hợp này.

http://rgplot.rubyforge.org/


2

Tôi đã bắt đầu sử dụng protovis để tạo biểu đồ SVG bằng javascript. Cách tiếp cận cơ bản của tôi trong rails là có một bộ điều khiển trả về dữ liệu được lập biểu đồ dưới dạng JSON và thu thập dữ liệu đó bằng một chút javascript và protovis.

Nhược điểm duy nhất, là hỗ trợ IE đầy đủ (Vì nó dựa trên SVG) hiện không có sẵn ngay lập tức ... Tuy nhiên, các bản vá hiện tại đi một cách hợp lý để cung cấp hỗ trợ IE, bạn có thể tìm chi tiết tại đây .



1

Có vẻ như đá quý gchartrb không còn được duy trì. Tác giả chỉ ra những viên ngọc này:


0

Chúng tôi thực hiện điều này bằng cách chuyển sang gnuplot để tạo các biểu đồ dưới dạng PNGs phía máy chủ. Nó hơi cũ và các biểu đồ không tương tác nhưng nó hoạt động và có thể lưu vào bộ nhớ cache.

(Lý do khác chúng tôi làm điều này là để chúng tôi có thể đặt chính xác cùng một biểu đồ trong phiên bản PDF của báo cáo).




0

FWIW, tôi không phải là người thích sử dụng Google Charts khi sự phù hợp và hoàn thiện là quan trọng. Tôi thấy rằng các biến số để định kích thước, đặc biệt, là không thể đoán trước - biểu đồ làm việc riêng của nó.

Tôi chưa chơi với Gruff / Bluff / etc., Nhưng đối với một dự án cao cấp hơn, tôi sẽ không sử dụng Google Charts.


0

Nếu bạn muốn các biểu đồ khá gợi cảm, dễ tạo và bạn có thể bật Flash, thì bạn chắc chắn nên xem qua các biểu đồ xml / swf của maani.us .

Một số trình tạo XML đằng sau nó và bạn đã sẵn sàng.


Trình bao bọc ZiYa mà tôi đã đề cập cung cấp trình bao bọc Rails cho xml / swf. Biểu đồ trông rất thú vị.
RichH 23/09/08

Trình bao bọc ZiYa dường như đã chết và hiện đang thiếu tài liệu nghiêm trọng.
Travis Pessetto

0

FusionCharts là một sản phẩm biểu đồ rất tốt. Hoạt động tốt với RoR. Hỗ trợ của họ và diễn đàn là tốt. Phiên bản miễn phí của sản phẩm này có số lượng biểu đồ và tính năng hạn chế, nhưng không có hình mờ.


0

Tôi vừa mới bắt đầu sử dụng googlecharts cho dự án rails 3 của mình. Nó đẹp và sạch sẽ và dường như là viên ngọc dựa trên api trực quan hóa của google duy nhất còn sống. Những người khác không hoạt động và chủ yếu sử dụng api biểu đồ cũ của google (được phát hành ở đâu đó vào năm 2007-2008).

https://github.com/mattetti/googlecharts


0

D3 đã trở thành cách ưa thích của tôi để thêm các biểu đồ tuyệt vời vào ứng dụng web. Bạn phải thực hiện một số công việc nhỏ so với một số khuôn khổ khác, nhưng sự xuất hiện và kiểm soát vượt trội hơn điều đó.

Tôi chủ yếu sử dụng SVG, có nghĩa là không có IE8, nhưng điều đó đang trở nên ít vấn đề hơn.



0

gem 'chart' giúp dễ dàng thêm biểu đồ ChartJS và NVD3 vào đường ray.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.