Quelle est votre manière préférée de produire des graphiques dans une application Web Ruby on Rails?

StackOverflow https://stackoverflow.com/questions/87561

  •  01-07-2019
  •  | 
  •  

Question

J'aimerais ajouter des graphiques à secteurs, à barres et à nuages ??de points à mon application Web Ruby on Rails. Je veux qu'ils soient atractifs, faciles à ajouter et n'introduisent pas beaucoup de frais généraux.

Quelle solution de cartographie recommanderiez-vous?
Quels sont ses inconvénients (Javascript, Flash, coûteux, etc.)?

Était-ce utile?

La solution

Google Charts est un excellent choix si vous ne souhaitez pas utiliser Flash. C'est assez facile à utiliser seul, mais pour Rails, c'est encore plus facile avec le gchartrb gem. Un exemple:

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

Autres conseils

Si vous n'avez pas besoin d'images et si vous avez besoin de JavaScript, vous pouvez essayer une solution côté client telle que le plugin jQuery flot .

Je suis fan de Gruff Graphs , mais Google Charts est également utile si vous ne craignez pas de compter sur un serveur externe.

Il requiert Flash et n'est pas gratuit (même s'il est peu coûteux): amcharts .

Je l'ai utilisé avec succès et je l'aime bien. J'ai évalué un certain nombre d'options il y a quelque temps et je l'ai choisi. À l’époque, cependant, Google Charts n’était pas aussi mature qu’il semble en être au stade actuel. Je considérerais cela en premier si je devais réévaluer maintenant.

Il existe également Scruffy . J'ai jeté un coup d'œil au code récemment et il semblait facile de modifier / étendre. Il produit svg et (par conversion) png.

Avez-vous essayé la API Google Charts ? - Les API de services Web ne sont pas vraiment plus simples. C’est gratuit, simple à mettre en œuvre et les tableaux n’ont pas l’air médiocre.

Open Flash Chart II est une option gratuite qui permet d'obtenir d'excellents résultats. Comme vous vous en doutez, il nécessite Flash.

Graphiques de fusion est encore plus agréable, mais coûte 499 $. En faisant des recherches à ce sujet, j'ai trouvé une version gratuite réduite qui pourrait répondre à vos besoins.

J'ai voté pour flot . La dernière version vous permet de faire des animations et des actions que je pensais auparavant ne serait possible que via Flash. La documentation est fantastique. Écrire à la main est simple, mais dans les cas simples, cela devient encore plus facile avec un plugin Rails appelé flotille . Vous devriez consulter la page d'exemples pour avoir une meilleure idée de ce dont il est capable. Les capacités de zoom et de survol sont particulièrement impressionnantes.

La nouvelle visualisation de Google semble produire des graphiques de types plus variés, plus esthétiques et interactifs que Google Graph.

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

Morris.js est une belle source ouverte. Je voudrais le choisir en comparant avec les graphiques supérieurs. Un Railscasts est un nouveau didacticiel vidéo génial.

Je viens de constater que ZiYa produit des graphiques vraiment sexy et est spécifique à Rails.

Les inconvénients sont qu’il utilise Flash et si vous ne souhaitez pas que les sites soient liés à une page XML / SWF, le coût est de 50 USD par site.

[Je n'ai pas encore décidé, mais je voulais le jeter au cas où les gens voudraient le voter]

J’ai beaucoup utilisé Fusion Fusion depuis une application Web Java, mais cela devrait fonctionner de la même manière depuis Rails puisque vous intégrez une Flash via HTML ou JavaScript et que vous lui transmettez des données XML. C'est un paquet astucieux et leur soutien a toujours été très réactif.

Vous devriez consulter la bibliothèque Javascript de de Dmitry Baranovski, appelée Raphaël .

Google charts est très bien, mais ce n’est pas une solution uniquement ferroviaire. Vous utilisez simplement le langage de programmation de votre choix pour générer de façon dynamique des URL contenant les données. Google vous renvoie une belle image avec votre graphique.

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

Autrefois, j’avais décidé de rouler le mien (avec RVG / RMagick), principalement parce que Gruff n’avait pas tout ce que je voulais. L'inconvénient est que la recherche et l'élimination de tous les bugs dans le code graphique est une douleur. De nos jours, Gruff est mon choix, car il a vraiment progressé en termes de personnalisation et de flexibilité.

Les choix de modèles / couleurs Gruff standard sont cependant nuls, il vous faudra donc vous salir les mains pour obtenir les meilleurs résultats.

En ce qui concerne amcharts , il existe un "gratuit". version avec très peu de restrictions qui génère des graphiques Flash, y compris la mention "chart by amCharts.com".

Et il existe un plugin intéressant, ambling , qui vous fournit des méthodes d'assistance pour ajouter facilement des graphiques à vos vues. Veuillez noter que la la documentation de référence amCharts.com est toujours indispensable pour adapter le graphique à vos besoins.

Les graphiques GoogleCharts et Gruff sont excellents, mais ils manquent parfois de certaines fonctionnalités indispensables à un tracé plus scientifique. Il existe un joyau pour gnuplot qui pourrait être utile dans certaines de ces situations.

http://rgplot.rubyforge.org/

J'ai commencé à utiliser protovis pour générer des graphiques SVG avec javascript. Mon approche de base dans les rails est d’avoir un contrôleur qui renvoie les données à cartographier au format JSON, et les récupère avec un peu de javascript et de protovis.

Le seul inconvénient, c’est que la prise en charge intégrale d’IE (car elle est basée sur le SVG) est actuellement indisponible tout de suite ... Cependant, les correctifs actuels constituent un moyen équitable de fournir une prise en charge IE, dont les détails peuvent être trouvés < a href = "http://code.google.com/p/protovis-js/issues/detail?id=15" rel = "nofollow"> ici .

Personnellement, je préfère les graphiques JavaScript à la place de Flash. Si cela vous convient, consultez également les Graphiques en haut . Un plug-in Rails est également disponible.

Il semble que la gem gchartrb n’est plus conservée. L'auteur pointe sur ces gemmes:

Nous faisons cela en envoyant un message à gnuplot pour générer les graphiques en tant que fichiers PNG côté serveur. C'est un peu la vieille école et les graphiques ne sont pas interactifs, mais cela fonctionne et peut être mis en cache.

(L'autre raison pour cela est que nous pouvons mettre exactement le même graphique dans la version PDF du rapport).

Ce n’est pas spécifiquement RoR, cependant, c’est un port très pratique de Gruff à javascript: http: // bluff. jcoglan.com/

ChartDirector . API laide, mais bonne, image du côté serveur. Binaire autonome.

FWIW, je ne suis pas partisan d’utiliser Google Charts lorsque vous êtes en état de fonctionner. la finition est importante. Je trouve que les variables de dimensionnement, en particulier, sont imprévisibles - le graphique a sa propre fonction.

Je n'ai pas encore joué avec Gruff / Bluff / etc., mais je n'utiliserai pas Google Charts pour les projets à profil élevé.

Si vous voulez des graphiques très sexy, faciles à générer et que vous pouvez activer Flash, vous devriez absolument jeter un oeil à graphiques xml / swf maani.us .

Un constructeur XML derrière et vous êtes prêt à partir.

FusionCharts est un très bon produit de création de graphiques. Fonctionne bien avec RoR. Leur soutien et leurs forums sont bons. La version gratuite de ce produit comporte un nombre limité de graphiques et de fonctionnalités, mais pas de filigrane.

Je viens juste de commencer à utiliser les googlecharts pour mon projet rails 3. Il est beau et propre, et semble être le seul joyau basé sur la visualisation Google api qui est vivant. D'autres sont inactifs et utilisent principalement l'ancienne API Google Maps (publiée quelque part en 2007-2008).

https://github.com/mattetti/googlecharts

D3 est devenu ma méthode préférée pour ajouter de superbes graphiques aux applications Web. Vous devez faire un peu plus de travail que d'autres cadres, mais l'apparence et le contrôle l'emportent sur cela.

J'utilise principalement SVG, ce qui signifie pas d'IE8, mais cela devient moins problématique.

HighChart - Une bibliothèque de graphiques écrite en JavaScript pur

Des pierres précieuses telles que highchart-rails , lazy-high-chart facilite l'intégration avec les rails

gem 'chart' facilite l’ajout de diagrammes ChartJS et NVD3 aux rails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top