¿Cuál es su forma preferida de producir gráficos en una aplicación web Ruby on Rails?

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

  •  01-07-2019
  •  | 
  •  

Pregunta

Me gustaría agregar algunos gráficos circulares, de barras y de dispersión a mi aplicación web Ruby on Rails.Quiero que sean atractivos, fáciles de agregar y que no generen muchos gastos generales.

¿Qué solución de gráficos recomendaría?
¿Cuáles son sus inconvenientes (requiere Javascript, Flash, es caro, etc.)?

¿Fue útil?

Solución

Gráficos de Google es una excelente opción si no desea utilizar Flash.Es bastante fácil de usar por sí solo, pero para Rails, es aún más fácil con el gchartrb joya.Un ejemplo:

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

Otros consejos

Si no necesita imágenes y puede decidirse por requerir JavaScript, puede probar una solución del lado del cliente como el complemento jQuery. flotar.

soy un fan de Gráficos bruscos, pero Gráficos de Google También es bueno si no te importa depender de un servidor externo.

Él requiere flash y no es gratis (aunque es económico): amcharts.

Lo he usado con éxito y me gusta.Hace un tiempo evalué varias opciones y la elegí.Sin embargo, en ese momento, Google Charts no estaba tan maduro como parece ahora.Lo consideraría primero si tuviera que reevaluarlo ahora.

También hay Desaliñado.Eché un vistazo al código recientemente y parecía fácil de modificar/ampliar.Produce svg y (por conversión) png.

¿Has probado el API de gráficos de Google?- Las API de servicios web en realidad no son mucho más simples.Es de uso gratuito, fácil de implementar y los gráficos no parecen demasiado deficientes.

Abrir gráfico flash II es una opción gratuita que ofrece resultados muy buenos.Como era de esperar, requiere Flash.

Gráficos de fusión Es aún mejor, pero cuesta $499.Al investigar esto, encontré una versión gratuita reducida que pueda satisfacer sus necesidades.

Yo segundo el voto a favor flotar.La última versión te permite realizar algunas animaciones y acciones que antes pensaba que sólo serían posibles a través de Flash.La documentación es fantástica.Es sencillo escribir a mano, pero para casos simples se vuelve aún más fácil con un complemento de Rails llamado flotilla.Deberías revisar el página de ejemplos para tener una mejor idea de lo que es capaz de hacer.Las capacidades de zoom y desplazamiento son especialmente impresionantes.

La nueva visualización de Google parece producir gráficos de tipos más variados, más atractivos e interactivos que Google Graphs.

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

morris.js es agradable y de código abierto.Me gustaría elegirlo en comparación con los gráficos altos.Hay un nuevo video tutorial excelente de Railscasts

acabo de encontrar ZiYa produce algunos gráficos realmente atractivos y es específico de Rails.

Las desventajas son que utiliza Flash y si no desea que los sitios se vinculen a una página XML/SWF, cuesta $50 por sitio.

[Aún no lo he decidido, pero quería publicarlo en caso de que la gente quiera votar a favor]

He usado Fusion Charts ampliamente desde una aplicación web Java, pero debería funcionar de la misma manera desde Rails, ya que simplemente estás incrustando un Flash a través de HTML o JavaScript y pasándole datos XML.Es un paquete ingenioso y su soporte siempre ha sido muy receptivo.

Deberías echar un vistazo a Dmitry Baranovskiy biblioteca javascript llamada Rafael.

Los gráficos de Google son muy buenos, pero no son una solución exclusiva para rieles.Simplemente utiliza el lenguaje de programación de su elección para producir dinámicamente URL que contengan los datos y Google le devuelve una bonita imagen con su gráfico.

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

En los viejos tiempos, decidí hacer el mío propio (usando RVG/RMagick), principalmente porque Gruff no tenía todo lo que quería.La desventaja fue que encontrar y eliminar todos los errores en el código gráfico es una molestia.Hoy en día, Gruff es mi elección porque ha avanzado mucho en términos de personalización y flexibilidad.

Sin embargo, las plantillas y opciones de color estándar de Gruff apestan, por lo que tendrás que ensuciarte las manos para obtener mejores resultados.

Acerca de amcharts, existe una versión "gratuita" con muy pocas restricciones que genera gráficos Flash que incluyen la mención "gráfico de amCharts.com".

Y hay un buen complemento, deambulando, que le proporciona algunos métodos de ayuda para agregar fácilmente gráficos a sus vistas.Tenga en cuenta que Documentación de referencia de amCharts.com Sigue siendo imprescindible adaptar el gráfico a sus necesidades.

Los gráficos de GoogleCharts y Gruff son fantásticos, pero a veces carecen de algunas funciones que necesito para realizar un trazado más científico.Hay una joya para gnuplot que puede resultar útil para algunas de estas situaciones.

http://rgplot.rubyforge.org/

he empezado a usar protovis para generar gráficos SVG con javascript.Mi enfoque básico en Rails es tener un controlador que devuelva los datos que se van a graficar como JSON y recogerlos con un poco de javascript y protovis.

El único inconveniente es que la compatibilidad total con IE (ya que está basado en SVG) actualmente no está disponible de inmediato...Sin embargo, los parches actuales contribuyen en gran medida a brindar soporte para IE, cuyos detalles se pueden encontrar aquí.

Personalmente prefiero los gráficos basados ​​en JavaScript a Flash.Si está bien, consulte también Gráficos altos.A Complemento de rieles también está disponible.

Al parecer, la gema gchartrb ya no se mantiene.El autor puntos a estas gemas:

Hacemos esto desembolsando gnuplot para generar los gráficos como PNG en el lado del servidor.Es un poco anticuado y los gráficos no son interactivos, pero funciona y se puede almacenar en caché.

(La otra razón por la que hacemos esto es para poder incluir exactamente el mismo gráfico en la versión PDF del informe).

Sin embargo, esto no es específicamente RoR, es una adaptación bastante ingeniosa de Gruff a javascript: http://bluff.jcoglan.com/

Director de gráficos.API fea, pero buenos resultados de imágenes del lado del servidor.Binario autónomo.

FWIW, no soy partidario de usar Google Charts cuando el ajuste y el acabado son importantes.Encuentro que las variables de tamaño, en particular, son impredecibles: el gráfico hace lo suyo.

Todavía no he jugado con Gruff/Bluff/etc., pero para un proyecto de mayor perfil no usaré Google Charts.

Si quieres gráficos bastante atractivos, fáciles de generar y que puedas habilitar Flash, entonces definitivamente deberías echarle un vistazo a maani.us gráficos xml/swf.

Algún constructor XML detrás y ya está listo para comenzar.

FusionGráficos Es un muy buen producto de gráficos.Funciona bien con RoR.Su soporte y foros son buenos.La versión gratuita de este producto tiene un número limitado de gráficos y funciones, pero no tiene marca de agua.

Acabo de empezar a utilizar Googlecharts para mi proyecto Rails 3.Es agradable y limpio, y parece ser la única joya basada en API de visualización de Google que está viva.Otros están inactivos y en su mayoría utilizan la antigua API de gráficos de Google (lanzada en algún momento entre 2007 y 2008).

https://github.com/mattetti/googlecharts

D3 se ha convertido en mi forma preferida de agregar gráficos atractivos a las aplicaciones web.Tienes que hacer un poco más de trabajo que otros frameworks, pero la apariencia y el control lo superan.

Utilizo principalmente SVG, lo que significa que no IE8, pero eso se está volviendo un problema menor.

Gráfico alto - Una biblioteca de gráficos escrita en JavaScript puro.

Gemas como rieles de gráficos altos, gráfico-alto-perezoso facilita la integración con rieles

gem 'chart' facilita la adición de gráficos ChartJS y NVD3 a los rieles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top