Ich möchte meiner Ruby on Rails-Webanwendung einige Kreis-, Balken- und Streudiagramme hinzufügen. Ich möchte, dass sie attraktiv sind, einfach hinzuzufügen sind und nicht viel Aufwand verursachen.
Welche Chartlösung würden Sie empfehlen?
Was sind die Nachteile (erfordert Javascript, Flash, teuer usw.)?
ruby-on-rails
ruby
charts
RichH
quelle
quelle
Antworten:
Google Charts ist eine ausgezeichnete Wahl, wenn Sie Flash nicht verwenden möchten. Es ist ziemlich einfach für sich zu benutzen, aber für Rails ist es mit dem Edelstein gchartrb noch einfacher . Ein Beispiel:
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
quelle
Wenn Sie keine Bilder benötigen und JavaScript benötigen, können Sie eine clientseitige Lösung wie das jQuery-Plugin- Flot ausprobieren .
quelle
Ich bin ein Fan von Gruff Graphs , aber Google Charts ist auch gut, wenn es Ihnen nichts ausmacht, sich auf einen externen Server zu verlassen.
quelle
Es
erfordert Flash undist nicht kostenlos (obwohl kostengünstig): Amcharts .Ich habe es erfolgreich benutzt und mag es. Ich habe vor einiger Zeit eine Reihe von Optionen geprüft und ausgewählt. Zu diesem Zeitpunkt war Google Charts jedoch nicht so ausgereift, wie es jetzt zu sein scheint. Ich würde das zuerst in Betracht ziehen, wenn ich jetzt neu bewerten würde.
quelle
Es gibt auch Scruffy . Ich habe mir kürzlich den Code angesehen und er schien einfach zu ändern / zu erweitern. Es erzeugt svg und (durch Konvertierung) png.
quelle
Haben Sie die Google Charts-API ausprobiert ? - Web-Service-APIs sind nicht viel einfacher. Es ist kostenlos zu bedienen, einfach zu implementieren und die Diagramme sehen nicht allzu schlecht aus.
quelle
Open Flash Chart II ist eine kostenlose Option, die eine sehr schöne Ausgabe liefert. Wie zu erwarten, ist Flash erforderlich.
Fusion Charts ist noch schöner, kostet aber 499 US-Dollar. Als ich dies recherchierte, fand ich eine kostenlose Version , die Ihren Anforderungen entsprechen könnte.
quelle
Ich 2. die Abstimmung für Flot . Mit der neuesten Version können Sie einige Animationen und Aktionen ausführen, von denen ich vorher dachte, dass sie nur über Flash möglich sind. Die Dokumentation ist fantastisch. Es ist einfach, von Hand zu schreiben, aber in einfachen Fällen wird es mit einem Rails-Plugin namens Flottille noch einfacher . Sie sollten sich die Beispielseite ansehen, um eine bessere Vorstellung davon zu bekommen, wozu sie in der Lage ist. Besonders beeindruckend sind die Zoom- und Schwebefunktionen.
quelle
Die neue Google-Visualisierung scheint Diagramme zu erstellen, die vielfältiger sind, besser aussehen und interaktiv als Google Graphs.
http://code.google.com/apis/visualization/
quelle
Morris.js ist nett und Open Source. Ich würde es gerne im Vergleich zu Highcharts wählen. Es gibt ein neues großartiges Video-Tutorial von Railscasts
quelle
Ich habe gerade festgestellt, dass ZiYa einige wirklich sexy Charts produziert und Rails-spezifisch ist.
Die Nachteile sind, dass Flash verwendet wird. Wenn Sie nicht möchten, dass die Websites auf eine XML / SWF-Seite verlinken, kostet dies 50 US-Dollar pro Website.
[Ich habe mich noch nicht dafür entschieden, wollte es aber rauswerfen, falls die Leute darüber abstimmen wollen]
quelle
Ich habe Fusion Charts ausgiebig in einer Java-Webanwendung verwendet, aber es sollte genauso funktionieren wie in Rails, da Sie nur einen Flash über HTML oder JavaScript einbetten und ihm XML-Daten übergeben. Es ist ein schickes Paket und ihre Unterstützung war immer sehr reaktionsschnell.
quelle
Sie sollten sich die Javascript-Bibliothek von Dmitry Baranovskiy mit dem Namen Raphaël ansehen .
quelle
Google Charts ist sehr schön, aber keine reine Schienenlösung. Sie verwenden einfach die Programmiersprache Ihrer Wahl, um dynamisch URLs zu erstellen, die die Daten enthalten, und Google gibt Ihnen ein schönes Bild mit Ihrem Diagramm zurück.
http://code.google.com/apis/chart/
quelle
Früher habe ich beschlossen, meine eigenen zu rollen (mit RVG / RMagick), hauptsächlich weil Gruff nicht alles hatte, was ich wollte. Der Nachteil war, dass das Auffinden und Beseitigen aller Fehler im Grafikcode ein Schmerz ist. Heutzutage ist Gruff meine Wahl, da es in Bezug auf Anpassung und Flexibilität wirklich weiterentwickelt wurde.
Die Standard-Gruff-Vorlagen / Farboptionen sind jedoch schlecht, sodass Sie sich die Hände schmutzig machen müssen, um die besten Ergebnisse zu erzielen.
quelle
In Bezug auf Amcharts gibt es eine "kostenlose" Version mit sehr wenigen Einschränkungen, die Flash-Diagramme generiert, einschließlich der Erwähnung "Diagramm von amCharts.com".
Und es gibt ein nettes Plugin, das Ihnen einige Hilfsmethoden bietet, mit denen Sie Ihren Ansichten ganz einfach Diagramme hinzufügen können. Bitte beachten Sie, dass die Referenzdokumentation von amCharts.com immer noch ein Muss ist, um das Diagramm an Ihre Anforderungen anzupassen.
quelle
GoogleCharts und Gruff-Diagramme sind großartig, aber manchmal fehlen ihnen einige Funktionen, die ich für wissenschaftlichere Darstellungen benötige. Es gibt ein Juwel für Gnuplot, das in einigen dieser Situationen hilfreich sein kann.
http://rgplot.rubyforge.org/
quelle
Ich habe angefangen, Protovis zu verwenden, um SVG-Diagramme mit Javascript zu generieren. Mein grundlegender Ansatz bei Rails besteht darin, einen Controller zu haben, der die als JSON dargestellten Daten zurückgibt und sie mit etwas Javascript und Protovis aufnimmt.
Der einzige Nachteil ist, dass die vollständige IE-Unterstützung (da sie auf SVG basiert) derzeit nicht sofort verfügbar ist. Aktuelle Patches bieten jedoch einen fairen Weg, um IE-Unterstützung bereitzustellen. Details dazu finden Sie hier .
quelle
Ich persönlich bevorzuge JavaScript-basierte Diagramme gegenüber Flash. Wenn das in Ordnung ist, schauen Sie sich auch High Charts an . Ein Rails-Plugin ist ebenfalls verfügbar.
quelle
Der Edelstein gchartrb wird anscheinend nicht mehr gepflegt. Der Autor weist auf diese Edelsteine hin:
quelle
Wir tun dies, indem wir uns an gnuplot wenden, um die Diagramme serverseitig als PNGs zu generieren. Es ist ein bisschen altmodisch und die Diagramme sind nicht interaktiv, aber es funktioniert und kann zwischengespeichert werden.
(Der andere Grund, warum wir dies tun, ist, dass wir genau das gleiche Diagramm in die PDF-Version des Berichts einfügen können.)
quelle
Dies ist nicht speziell RoR, aber es ist eine ziemlich raffinierte Portierung von Gruff nach Javascript: http://bluff.jcoglan.com/
quelle
ChartDirector . Hässliche API, aber gute serverseitige Image-Ergebnisse. In sich geschlossene Binärdatei.
quelle
FWIW, ich bin kein Fan von Google Charts, wenn Fit & Finish wichtig ist. Ich finde, dass insbesondere die Variablen für die Größenbestimmung nicht vorhersehbar sind - das Diagramm macht seine eigene Sache.
Ich habe noch nicht mit Gruff / Bluff / etc. Gespielt, aber für ein höherkarätiges Projekt werde ich Google Charts nicht verwenden.
quelle
Wenn Sie ziemlich sexy Diagramme möchten, die einfach zu generieren sind und Flash aktivieren können, sollten Sie sich unbedingt die xani / swf-Diagramme von maani.us ansehen .
Ein XML-Builder dahinter und Sie können loslegen.
quelle
FusionCharts ist ein sehr gutes Chartprodukt . Funktioniert gut mit RoR. Ihre Unterstützung und Foren sind gut. Die kostenlose Version dieses Produkts verfügt über eine begrenzte Anzahl von Diagrammen und Funktionen, jedoch kein Wasserzeichen.
quelle
Ich habe gerade angefangen, Googlecharts für mein Rails 3-Projekt zu verwenden. Es ist schön und sauber und scheint das einzige auf Google Visualization API basierende Juwel zu sein, das noch lebt. Andere sind inaktiv und verwenden meistens die alte Google Charts-API (veröffentlicht irgendwo in den Jahren 2007-2008).
https://github.com/mattetti/googlecharts
quelle
D3 ist meine bevorzugte Methode geworden, um Web-Apps gut aussehende Diagramme hinzuzufügen. Sie müssen ein wenig mehr Arbeit leisten als einige andere Frameworks, aber das Erscheinungsbild und die Kontrolle überwiegen.
Ich benutze hauptsächlich SVG, was bedeutet, dass es keinen IE8 gibt, aber das wird immer weniger ein Problem.
quelle
HighChart - Eine Diagrammbibliothek, die in reinem JavaScript geschrieben ist
Edelsteine wie Highchart-Rails und Lazy-High-Chart erleichtern die Integration in Rails
quelle
gem 'chart'
erleichtert das Hinzufügen von ChartJS- und NVD3-Diagrammen zu Schienen.quelle