Como posso criar uma matriz de séries temporais para que eu possa ter um gráfico de barras no Ruby on Rails?

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

Pergunta

Eu tenho um modelo, contactemil que possui um atributo date_sent e um email_id, referenciando outro email de modelo.

Gostaria de criar um gráfico de barras que apareça nas datas do eixo x e no eixo y o número de correios que foram enviados em uma data específica.

Gostaria de fazer o mesmo, filtrado para o ContatoMails, onde email_id é igual a um valor específico.

Meu objetivo final é ter algum tipo de gráfico de barras-ainda estou pesquisando como fazer isso, mas independentemente, parece que eu precisaria de algum tipo de matriz de séries temporais, o que eu suponho elemento e a contagem para o outro.

Como eu faço isso?

A solução gráfica que estou olhando é chamada de vidente:

http://github.com/bantik/seer

Estou usando a jóia estatística, que está emitindo um hash que se parece com o seguinte:

=> #<OrderedHash {"2010-10-23"=>2, "2010-09-22"=>3, "2010-09-11"=>1, "2010-08-27"=>1, "2010-10-15"=>
1, "2010-09-15"=>1, "2010-08-08"=>2, "2010-10-17"=>14, "2010-10-06"=>2, "2010-09-28"=>1, "2010-10-19
"=>1, "2010-09-20"=>1}>

1) Como posso colocar isso em uma ordem? 2) O SEER reconhece valores de data nula?

Foi útil?

Solução 2

Eu usei a jóia estatística

Outras dicas

Oi você pode tentar fazer um pouco de hash

list = {}
ModelName.all.each do |mn|
 date = p.created_at.to_date 
 list[date] = 0 if list[date].blank?
 list[date] += 1
end

você vai conseguir algo como

{Fri, 22 Oct 2010=>1021, Sat, 23 Oct 2010=>1}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top