Jaki jest twój preferowany sposób tworzenia wykresów w aplikacji internetowej Ruby on Rails?

Chciałbym dodać kilka wykresów pie, bar i scatter do mojej aplikacji internetowej Ruby on Rails. Chcę, aby były atrakcyjne, łatwe do dodania i nie wprowadzały zbyt wiele kosztów.

Jakie rozwiązanie polecacie?
Jakie są jego wady (wymaga Javascript, Flash, drogie, itp)?

Author: RichH, 2008-09-18

30 answers

Google Charts to doskonały wybór, jeśli nie chcesz używać Flasha. Jest dość łatwy w użyciu samodzielnie, ale w przypadku Railów jest jeszcze łatwiejszy dzięki gem gchartrb. Przykład:

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
 59
Author: Clinton N. Dreisbach,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 21:03:57

Jeśli nie potrzebujesz obrazów, a możesz zadowolić się wymaganiem JavaScript, możesz wypróbować rozwiązanie po stronie klienta, takie jak wtyczka jQuery flot.

 15
Author: Ben,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 02:37:12

Jestem fanem Wykresów Gruff, ale Google Charts jest również dobry, jeśli nie masz nic przeciwko poleganiu na zewnętrznym serwerze.

 13
Author: lordscarlet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 21:06:58

To wymaga Flasha i nie jest darmowy (choć niedrogi): amcharts .

Używałem go z powodzeniem i podoba mi się. Jakiś czas temu oceniłem kilka opcji i wybrałem je. W tym czasie jednak wykresy Google nie były tak Dojrzałe, jak wydaje się być teraz. Rozważyłbym to najpierw, gdybym miał teraz dokonać ponownej oceny.

 8
Author: Otto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-15 20:04:34

Jest też Scruffy . Spojrzałem ostatnio na kod i wydawało się, że łatwo go zmodyfikować/rozszerzyć. Tworzy svg i (przez konwersję) png.

 7
Author: MattW.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 10:30:03

Czy próbowałeś Google Charts API ? - web service API naprawdę nie przychodzą dużo prostsze. Jest darmowy w użyciu, prosty w implementacji, a Wykresy nie wyglądają zbyt tandetnie.

 6
Author: David Heggie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 20:55:56

Open Flash Chart II {[2] } jest darmową opcją, która daje bardzo ładne wyniki. Wymaga, jak można się spodziewać, Flasha.

Fusion Charts jest jeszcze ładniejszy, ale wynosi 499 dolarów. Badając to, znalazłemdarmową wersję , która może służyć twoim potrzebom.

 6
Author: Clinton N. Dreisbach,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 20:57:14

II Głosuję na flot . Najnowsza wersja pozwala zrobić kilka animacji i działań, które wcześniej myślałem, że będzie możliwe tylko za pomocą Flasha. Dokumentacja jest fantastyczna. Proste jest pisanie ręcznie, ale w prostych przypadkach staje się jeszcze łatwiejsze dzięki wtyczce Rails o nazwie flotilla. Powinieneś zajrzeć na stronę z przykładami , aby dowiedzieć się, do czego jest ona zdolna. Możliwości powiększania i zawisania są szczególnie imponujące.

 6
Author: Jerry Cheung,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-14 08:52:36

Nowa Wizualizacja Google wydaje się produkować wykresy, które są bardziej zróżnicowane, lepiej wyglądające i interaktywne niż wykresy Google.

Http://code.google.com/apis/visualization/

 4
Author: RichH,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-06 17:48:03

Morris.js jest ładne i open source. Chciałbym wybrać go w porównaniu do highcharts. Jest nowy świetny samouczek wideo z Railscasts

 4
Author: Steven Yue,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-27 16:11:06

Właśnie znalazłem ZiYa tworzy naprawdę seksowne wykresy i jest specyficzna.

Minusem jest to, że używa Flasha i jeśli nie chcesz, aby witryny linkowały do strony XML / SWF, kosztuje 50 USD za witrynę.

[jeszcze się na to nie zdecydowałem, ale chciałem to wyrzucić, gdyby ludzie chcieli głosować]

 3
Author: RichH,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 00:39:15

Używałem Wykresów Fusion szeroko z aplikacji Java web, ale powinno działać tak samo z Rails, ponieważ po prostu osadzasz Flash przez HTML lub JavaScript i przekazujesz mu dane XML. Jest to sprytny pakiet, a ich wsparcie zawsze było bardzo elastyczne.

 3
Author: Brian Deterling,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 02:39:59

Powinieneś zajrzeć do biblioteki Javascript o nazwie Raphaël.

 3
Author: Nathan de Vries,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 14:31:33

Google charts jest bardzo ładne, ale nie jest to jedyne rozwiązanie. Wystarczy użyć wybranego języka programowania, aby dynamicznie tworzyć adresy URL zawierające dane, a google zwróci ci ładny obraz z wykresem.

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

 2
Author: delux247,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 20:57:38

W dawnych czasach zdecydowałem się na zrolowanie własnego (używając RVG/RMagick), głównie dlatego, że Gruff nie miał wszystkiego, czego chciałem. Minusem było to, że znalezienie i wyeliminowanie wszystkich błędów w kodzie graficznym to ból. W dzisiejszych czasach Gruff jest moim wyborem, ponieważ naprawdę poszedł do przodu pod względem dostosowywania i elastyczności.

Standardowe szorstkie szablony / wybory kolorów są do bani, więc musisz ubrudzić sobie ręce, aby uzyskać najlepsze wyniki.

 2
Author: Dan Harper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 02:29:07

Odnośnie amcharts , istnieje "darmowa" wersja z nielicznymi ograniczeniami, która generuje wykresy Flash, w tym 'Wykres przez amCharts.com / align = "left" /

I jest fajna wtyczka, ambling, która zapewnia kilka pomocnych metod, aby łatwo dodać wykresy do swoich widoków. Należy pamiętać, że amCharts.com dokumentacja referencyjna jest nadal koniecznością, aby dostosować wykres do Twoich wymagań.

 2
Author: Laurent Farcy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-25 15:12:14

GoogleCharts i wykresy Gruff są świetne, ale czasami brakuje im pewnych funkcji, które są potrzebne do bardziej naukowego kreślenia. Jest klejnot dla gnuplot, który może być pomocny w niektórych z tych sytuacji.

Http://rgplot.rubyforge.org/

 2
Author: Bryan Ward,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-22 18:32:03

Zacząłem używać protovis do generowania wykresów SVG za pomocą javascript. Moim podstawowym podejściem w rails jest posiadanie kontrolera, który zwraca dane, które mają być zapisane jako JSON, i zgarnąć je z odrobiną javascript i protovis.

Jedynym minusem jest to, że pełna obsługa IE (ponieważ jest oparta na SVG) jest obecnie niedostępna od razu po wyjęciu z pudełka... Jednak obecne poprawki są dobrym sposobem na zapewnienie wsparcia dla IE, którego szczegóły można znaleźć tutaj .

 2
Author: Clinton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-16 01:19:27

Osobiście wolę wykresy oparte na JavaScript niż Flash. Jeśli nie masz nic przeciwko, sprawdź również Wysokie wykresy . Dostępna jest również wtyczka Rails .

 1
Author: Preston Lee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-14 21:07:27

Gem gchartrb nie jest już utrzymywany, jak się wydaje. Autor wskazuje na te perełki:

 1
Author: Thilo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-15 20:07:18

Robimy to, wysyłając do gnuplot, aby wygenerować wykresy po stronie serwera PNGs. To trochę stara szkoła i wykresy nie są interaktywne, ale to działa i jest cacheable.

(innym powodem, dla którego to robimy, jest to, że możemy umieścić dokładnie ten sam wykres w wersji PDF raportu).

 0
Author: AndrewR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 23:42:38

Nie jest to jednak specyficzny RoR, jest to dość sprytny port Gruff do javascript: http://bluff.jcoglan.com/

 0
Author: Tony Pitale,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 03:56:12

ChartDirector . Brzydkie API, ale dobre wyniki obrazu po stronie serwera. Samodzielne binarne.

 0
Author: Jordi Bunster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 14:21:43

FWIW, nie jestem fanem korzystania z Wykresów Google, gdy fit & finish jest ważne. Uważam, że zmienne dla rozmiaru, w szczególności, są nieprzewidywalne-Wykres robi swoje własne rzeczy.

Jeszcze nie grałem z Gruff/Bluff / etc. ale w przypadku projektu o wyższym profilu Nie będę używał Wykresów Google.

 0
Author: scottru,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-20 16:37:51

Jeśli chcesz całkiem seksownych Wykresów, łatwych do wygenerowania, i możesz włączyć Flasha, to zdecydowanie powinieneś zajrzeć do maani.us wykresy xml / swf .

Jakiś XML builder za nim i jesteś gotowy do pracy.

 0
Author: Thibaut Barrère,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-22 09:11:19

FusionCharts to bardzo dobry produkt do tworzenia wykresów. Działa dobrze z RoR. Ich wsparcie i fora są dobre. Darmowa wersja tego produktu ma ograniczoną liczbę wykresów i funkcji, ale nie ma znaku wodnego.

 0
Author: Srividya Sharma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-22 06:55:41

Właśnie zacząłem używać googlecharts dla mojego projektu rails 3. Jest ładny i czysty i wydaje się być jedynym klejnotem opartym na Google visualization api, który żyje. Inne są nieaktywne i najczęściej korzystają ze starego Google charts api (wydany gdzieś w 2007-2008).

Https://github.com/mattetti/googlecharts

 0
Author: amit_saxena,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-22 23:13:23

D3 stał się moim ulubionym sposobem dodawania świetnie wyglądających Wykresów do aplikacji internetowych. Musisz zrobić trochę mroe pracy, że niektóre inne frameworki, ale wygląd i kontrola przeważają.

Używam przede wszystkim SVG, co oznacza brak IE8, ale to staje się coraz mniej problemem.

 0
Author: RichH,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-23 06:56:43

HighChart - biblioteka Wykresów napisana w czystym JavaScript

Gems like highchart-rails, lazy-high-chart ułatwia integrację z railami

 0
Author: usha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-09 04:22:36

gem 'chart' ułatwia dodawanie Wykresów ChartJS i Nvd3 do rails.

 0
Author: ytbryan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-20 02:55:11