Qual é a sua forma preferida para produzir gráficos em uma aplicação web Ruby on Rails?

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

  •  01-07-2019
  •  | 
  •  

Pergunta

Eu gostaria de adicionar alguns pizza, barras e dispersão gráficos para minha aplicação web Ruby on Rails. Quero quer que eles sejam atraente, fácil de adicionar e não introduzir muito em cima.

Que solução de gráficos que você recomendaria?
Quais são os seus inconvenientes (JavaScript, Flash, caro, etc)?

Foi útil?

Solução

Google Charts é uma excelente escolha se você não quiser usar o Flash. É muito fácil de usar por conta própria, mas para Rails, é ainda mais fácil com o gchartrb gem "noreferrer". Um exemplo:

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

Outras dicas

Se você não precisa de imagens, e pode resolver sobre exigindo JavaScript, você pode tentar uma solução do lado do cliente como o plugin jQuery flot .

Eu sou um fã de Gruff Gráficos , mas Google Charts também é bom se você não se importa confiar em um servidor externo.

requer flash e não está livre (embora barato): amcharts .

Eu usei-o com sucesso e como ele. I avaliou um número de opções de um tempo atrás e escolheu. Na época, no entanto, o Google Charts não era tão maduro quanto parece ser agora. Eu consideraria que o primeiro se eu fosse para reavaliar agora.

Há também desalinhado . Dei uma olhada no código recentemente e parecia fácil de modificar / estender. Ela produz SVG e PNG (por conversão).

Você já tentou o Google Charts API? - APIs de serviços web realmente não vêm muito mais simples. É livre de usar, simples de implementar, e os gráficos não parece muito má qualidade.

Open Flash Chart II é uma opção livre que dá saída muito agradável. Ele faz, como seria de esperar, requer o Flash.

fusão gráficos é ainda melhor, mas é de US $ 499. Em investigar este, achei um corte-down versão livre que pode atender suas necessidades.

Eu segundo o voto para flot . A versão mais recente permite que você faça algumas animações e ações que eu pensava só seria possível através do Flash. A documentação é fantástico. É simples de escrever à mão, mas para casos simples torna-se ainda mais fácil com Rails plugin chamado flotilha . Você deve verificar o exemplos página para uma melhor idéia do que é capaz. As capacidades de zoom e pairar são especialmente impressionante.

A nova visualização do Google parece produzir gráficos que são do tipo mais variado, melhor aparência e interativo do que o Google Gráficos.

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

Morris.js é agradável e de código aberto. Eu gostaria de escolhê-lo em comparação com Highcharts. Há um novo grande vídeo tutorial de Railscasts

Eu apenas encontrei Ziya produz alguns gráficos realmente sensuais e é Rails específica.

As desvantagens são que ele usa Flash e se você não quer que os sites o link para XML página / SWF que custa US $ 50 por site.

[eu não tiver decidido sobre isso ainda, mas queria jogá-lo lá fora, no caso de pessoas querem votar it up]

Eu usei Fusioncharts extensivamente dentro de um aplicativo web Java, mas deve funcionar da mesma maneira de Rails desde que você está apenas a incorporação de um flash via HTML ou JavaScript e passá-la dados XML. É um pacote liso e seu apoio tem sido sempre muito responsivo.

Você deve dar uma olhada na biblioteca Javascript Dmitry Baranovskiy de chamado Raphaël .

gráficos do Google é muito agradável, mas não é a única solução trilhos. Você simples uso da linguagem de programação de sua escolha para urls produzem dinamicamente que contêm os dados e Google retorna você faça uma imagem agradável com seu gráfico.

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

Nos velhos tempos, eu decidi fazer a minha própria (usando RVG / RMagick), principalmente porque Gruff não tinha tudo o que eu queria. A desvantagem foi que encontrar e eliminar todos os erros em gráficos de código é uma dor. Estes dias Gruff é a minha escolha como ele é realmente ido para a frente em termos de personalização e flexibilidade.

Os modelos padrão Gruff / opções de cores chupar embora, assim você terá que sujar as mãos para obter melhores resultados.

Em relação amcharts , há uma versão "livre" com muito poucas restrições que gera gráficos em flash, incluindo a 'gráfico, amCharts.com' menção.

E há um bom plugin, ambling , que lhe fornece alguns métodos auxiliares para facilmente adicionar gráficos para suas visualizações. Por favor note que amCharts.com documentação de referência ainda é uma obrigação de adaptar o gráfico com suas necessidades.

GoogleCharts e gráficos Gruff são grandes, mas às vezes eles não têm algumas características que eu preciso para plotagem mais científica. Não é uma jóia para gnuplot que pode ser útil para algumas dessas situações.

http://rgplot.rubyforge.org/

Eu comecei usando Protovis para gerar gráficos SVG com javascript. Minha abordagem básica em trilhos é ter um controlador que retorna os dados a serem mapeadas como JSON, e colher-lo com um pouco de javascript e Protovis.

A única desvantagem é que o apoio total IE (já que é baseado em SVG) está actualmente disponível em linha reta da caixa ... No entanto, patches atuais ir uma maneira justa de apoio IE, cujos detalhes podem ser encontrados < a href = "http://code.google.com/p/protovis-js/issues/detail?id=15" rel = "nofollow"> aqui .

Eu pessoalmente prefiro gráficos baseados em JavaScript sobre o Flash. Se isso é ok, também verificar alta Charts . A Rails plugin de também está disponível.

A jóia gchartrb não é mais mantido, parece. O autor pontos para essas jóias:

Fazemos isso por descascar para fora para gnuplot para gerar os gráficos como server-side PNGs. É um pouco old-school e os gráficos não são interativos, mas ele funciona e é armazenado em cache.

(A outra razão pela qual fazemos isso é para que possamos colocar exatamente o mesmo gráfico na versão em PDF do relatório).

Este não é especificamente RoR no entanto, é porta lisa bonita de Gruff para javascript: http: // blefe. jcoglan.com/

ChartDirector . API feio, mas bom, resultados de imagem no servidor lado. Auto-contido binário.

FWIW, eu não sou um fã do uso de gráficos do Google quando ajuste e acabamento é importante. Acho que as variáveis ??de dimensionamento, em particular, são imprevisíveis -. A carta faz sua própria coisa

Eu ainda não jogou com Gruff / Bluff / etc., Mas para um projeto de alto perfil que não vai usar o Google Charts.

Se você quiser gráficos bastante sensuais, fácil de gerar, e você pode ativar o Flash, então você definitivamente deve ter um olhar para maani.us xml / swf gráficos .

Alguns construtor XML por trás dele e você está pronto para ir.

FusionCharts é um produto muito bom gráficos. Funciona bem com RoR. Seu apoio e fóruns são bons. A versão gratuita deste produto tem número limitado de gráficos e recursos, mas sem marca de água.

Eu só comecei a usar googlecharts para os meus rails 3 do projeto. É agradável e limpo, e parece ser o único google gem baseada API de visualização do que é vivo. Outros são inativos e principalmente usar o velho gráficos API do Google (lançado em algum lugar em 2007-2008).

https://github.com/mattetti/googlecharts

D3 se tornou a minha maneira preferida adicionar belos gráficos para aplicações web. Você tem que fazer um pouco de trabalho mroe que algumas outras estruturas, mas a aparência e controle supera isso.

Eu uso principalmente SVG, que significa que não IE8, mas que está se tornando um problema menor.

HighChart - A biblioteca de gráficos escrito em JavaScript puro

Gems como highchart-rails , lazy-alta-chart faz a integração com os trilhos mais fácil

gem 'chart' torna fácil adicionar gráficos ChartJS e NVD3 para trilhos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top